Class: RangeComponentAttributes::DateConverter

Inherits:
BaseConverter show all
Defined in:
lib/range_component_attributes/type_conversion.rb

Instance Attribute Summary

Attributes inherited from BaseConverter

#blank_value

Instance Method Summary collapse

Methods inherited from BaseConverter

#initialize

Constructor Details

This class inherits a constructor from RangeComponentAttributes::BaseConverter

Instance Method Details

#call(value) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/range_component_attributes/type_conversion.rb', line 50

def call(value)
  return @blank_value if value.blank?
  return value if value == Float::INFINITY
  return value if value.kind_of? Date
  value = value.to_s
  if value =~ /\A(\d\d\d\d)-(\d\d)-(\d\d)\z/
    ::Date.civil($1.to_i, $2.to_i, $3.to_i)
  else
    ::Date.strptime(value, "%m/%d/%Y")
  end
rescue StandardError => e
  raise TypeConversionError.new(e, "date")
end