Class: NamedParameter::ParametersAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/named_parameter/parameters_adapter.rb

Constant Summary collapse

NO_ARGUMENT =
Object.new

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(method) ⇒ ParametersAdapter

Returns a new instance of ParametersAdapter.



7
8
9
# File 'lib/named_parameter/parameters_adapter.rb', line 7

def initialize(method)
  @method = method
end

Instance Attribute Details

#methodObject (readonly)

Returns the value of attribute method.



5
6
7
# File 'lib/named_parameter/parameters_adapter.rb', line 5

def method
  @method
end

Instance Method Details

#hash_to_args(options) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/named_parameter/parameters_adapter.rb', line 11

def hash_to_args(options)
  original_parameters = []
  @method.parameters.each_with_index do |parameter, i|
    parameter_name = parameter.last
    if options.has_key? parameter_name
      original_parameters << options[parameter_name]
    else
      original_parameters << NO_ARGUMENT
    end
  end

  arguments = fill_no_arguments(original_parameters)

  return arguments
end