Class: ActiveFields::Casters::DateTimeCaster

Inherits:
BaseCaster
  • Object
show all
Defined in:
lib/active_fields/casters/date_time_caster.rb

Direct Known Subclasses

DateTimeArrayCaster

Instance Attribute Summary

Attributes inherited from BaseCaster

#options

Instance Method Summary collapse

Methods inherited from BaseCaster

#initialize

Constructor Details

This class inherits a constructor from ActiveFields::Casters::BaseCaster

Instance Method Details

#deserialize(value) ⇒ Object



13
14
15
16
17
18
# File 'lib/active_fields/casters/date_time_caster.rb', line 13

def deserialize(value)
  value = value.iso8601 if value.is_a?(Date)
  casted_value = caster.deserialize(value)

  apply_precision(casted_value).in_time_zone if casted_value.acts_like?(:time)
end

#serialize(value) ⇒ Object



6
7
8
9
10
11
# File 'lib/active_fields/casters/date_time_caster.rb', line 6

def serialize(value)
  value = value.iso8601 if value.is_a?(Date)
  casted_value = caster.serialize(value)

  casted_value.iso8601(precision) if casted_value.acts_like?(:time)
end