Method: Dao::Path.extract_params

Defined in:
lib/dao/path.rb

.extract_params(enumerable, keys) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/dao/path.rb', line 59

def extract_params(enumerable, keys)
  params = Map.new
  keys = Array(keys)
  case enumerable
    when Array
      keys.each_with_index{|key, index| params[key] = enumerable[index]}
    when Hash
      enumerable = Map.for(enumerable)
      keys.each{|key| params[key] = enumerable[key]}
    else
      raise(ArgumentError, enumerable.class.name)
  end
  params
end