class FormObjects::ParamsConverter::DateConverter
Constants
- DATE_ATTRIBUTES
- DATE_FORMAT
Public Class Methods
new(params)
click to toggle source
# File lib/form_objects/params_converter/date_converter.rb, line 7 def initialize(params) @params = params end
Public Instance Methods
candidate_for_date_conversion?(key)
click to toggle source
# File lib/form_objects/params_converter/date_converter.rb, line 36 def candidate_for_date_conversion?(key) date_attribute_name_for(key) end
convert_attributes_to_date(object)
click to toggle source
# File lib/form_objects/params_converter/date_converter.rb, line 15 def convert_attributes_to_date(object) return object unless object.respond_to?(:each_pair) object.inject({}) { |hash, attributes| key, value = attributes.first, attributes.last attribute = date_attribute_name_for(key) hash[attribute] = DATE_FORMAT % date_values_for(key, object) if candidate_for_date_conversion?(key) hash[key] = convert_attributes_to_date(value) hash } end
date_attribute_name_for(key)
click to toggle source
# File lib/form_objects/params_converter/date_converter.rb, line 28 def date_attribute_name_for(key) key[DATE_ATTRIBUTES, 1] end
date_values_for(key, object)
click to toggle source
# File lib/form_objects/params_converter/date_converter.rb, line 32 def date_values_for(key, object) (1..6).map { |value| "#{object.delete("#{date_attribute_name_for(key)}(#{value}i)") { "00" }}" } end
params()
click to toggle source
# File lib/form_objects/params_converter/date_converter.rb, line 11 def params convert_attributes_to_date(@params) end