class Freddy::Payload::JsonAdapter
Public Class Methods
dump(payload)
click to toggle source
# File lib/freddy/payload.rb, line 44 def self.dump(payload) JSON.dump(serialize_time_objects(payload)) end
parse(payload)
click to toggle source
# File lib/freddy/payload.rb, line 38 def self.parse(payload) # MRI has :symbolize_keys, but JRuby does not. Not adding it at the # moment. Symbolizer.symbolize(JSON.parse(payload)) end
serialize_time_objects(object)
click to toggle source
# File lib/freddy/payload.rb, line 48 def self.serialize_time_objects(object) if object.is_a?(Hash) object.reduce({}) do |hash, (key, value)| hash.merge(key => serialize_time_objects(value)) end elsif object.is_a?(Array) object.map(&method(:serialize_time_objects)) elsif object.is_a?(Time) || object.is_a?(Date) object.iso8601 else object end end