You can define a method to accept an arbitrary number of keyword arguments using the double splat (**) operator:
def say(**args)
puts args
end
say foo: "1", bar: "2"
# {:foo=>"1", :bar=>"2"}
The arguments are captured in a Hash. You can manip...