Class: FormObjects::ParamsConverter::CollectionConverter

Inherits:
Object
  • Object
show all
Defined in:
lib/form_objects/params_converter/collection_converter.rb

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ CollectionConverter

Returns a new instance of CollectionConverter.



4
5
6
# File 'lib/form_objects/params_converter/collection_converter.rb', line 4

def initialize(params)
  @params = params
end

Instance Method Details

#convert_attributes_to_array(object) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/form_objects/params_converter/collection_converter.rb', line 12

def convert_attributes_to_array(object)
  return object unless object.respond_to?(:each_pair)

  object.inject({}) { |hash, attributes|
    key, value = attributes.first, attributes.last
    value      = value.to_a.sort.map { |attributes| attributes.last } if candidate_for_conversion?(key, value)
    hash[key]  = convert_attributes_to_array(value)

    hash
  }
end

#paramsObject



8
9
10
# File 'lib/form_objects/params_converter/collection_converter.rb', line 8

def params
  convert_attributes_to_array(@params)
end