class Reactor::Attributes::DateSerializer
Public Class Methods
new(attr, value)
click to toggle source
# File lib/reactor/attributes/date_serializer.rb, line 4 def initialize(attr, value) @attr, @value = attr, value end
Public Instance Methods
serialize()
click to toggle source
# File lib/reactor/attributes/date_serializer.rb, line 8 def serialize @serialized ||= serialize_date end
Private Instance Methods
iso_format?(val)
click to toggle source
# File lib/reactor/attributes/date_serializer.rb, line 30 def iso_format?(val) val =~ /^[0-9]{14}$/ end
serialize_date()
click to toggle source
# File lib/reactor/attributes/date_serializer.rb, line 13 def serialize_date if @value.is_a?(Time) @value.dup.utc.to_iso elsif @value.is_a?(String) if iso_format?(@value) @value elsif !@value.empty? Time.zone.parse(@value).utc.to_iso else # empty string <=> clear date nil end else @value end end