class Thor::Actions::EmptyDirectory

def call_public_method(sym)

a private method.
Raises:: Thor::PrivateMethodEncodedError if `sym` references
`base`
Returns:: result of `base.sym` or `nil` if `sym` wasn't found in
Calls `base`'s public method `sym`.
def call_public_method(sym)
  if base.respond_to?(sym)
    base.send(sym)
  elsif base.respond_to?(sym, true)
    raise Thor::PrivateMethodEncodedError,
      "Method #{base.class}##{sym} should be public, not private"
  else
    nil
  end
end