Class: Reform::Form::MultiParameterAttributes::DateParamsFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/reform/form/multi_parameter_attributes.rb

Instance Method Summary collapse

Instance Method Details

#call(params) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/reform/form/multi_parameter_attributes.rb', line 4

def call(params)
  date_attributes = {}

  params.each do |attribute, value|
    if value.is_a?(Hash)
      call(value) # TODO: #validate should only handle local form params.
    elsif matches = attribute.match(/^(\w+)\(.i\)$/)
      date_attribute = matches[1]
      date_attributes[date_attribute] = params_to_date(
        params.delete("#{date_attribute}(1i)"),
        params.delete("#{date_attribute}(2i)"),
        params.delete("#{date_attribute}(3i)")
      )
    end
  end
  params.merge!(date_attributes)
end