Take the following class:
class Automator
def fill_specific_form(fields)
fields.each_pair do |key, value|
puts \"Setting \'#{key}\' to \'#{value}
To reflect on a method's (or Proc
's) parameters, you can use Proc#parameters
, Method#parameters
or UnboundMethod#parameters
:
->(m1, o1=nil, *s, m2, &b){}.parameters
# => [[:req, :m1], [:opt, :o1], [:rest, :s], [:req, :m2], [:block, :b]]
However, in your case, I don't see why you need reflection, since you already know the names of the parameters anyway.