Class: FreeForm::DateParamsFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/freeform/form/date_params_filter.rb

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ DateParamsFilter

Returns a new instance of DateParamsFilter.



3
4
# File 'lib/freeform/form/date_params_filter.rb', line 3

def initialize(*args)
end

Instance Method Details

#call(params) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/freeform/form/date_params_filter.rb', line 6

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