Class: ActionHandler::ArgsMaker
- Inherits:
-
Object
- Object
- ActionHandler::ArgsMaker
- Defined in:
- lib/action_handler/args_maker.rb
Instance Method Summary collapse
-
#make_args(parameters, supplier, context: nil) ⇒ Object
TODO: Support optional arguments and keyword arguments.
Instance Method Details
#make_args(parameters, supplier, context: nil) ⇒ Object
TODO: Support optional arguments and keyword arguments.
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/action_handler/args_maker.rb', line 7 def make_args(parameters, supplier, context: nil) supplier_args = [context].compact parameters.inject([]) do |values, (_, name)| unless supplier.respond_to?(name) raise ArgumentError, "parameter #{name} is not defined in #{supplier}" end values << supplier.send(name, *supplier_args) end end |