There is an established format for these things. You can modify the following to meet your needs.
class Object
def argument_count m; method(m).arity end
def argument_names m; method(m).parameters end
end
Greeter.argument_count(:greet) # => -2
Greeter.argument_names(:greet) # => [[:req, :name], [:opt, :weekday]]