Class: Freddy::Payload::JsonAdapter
- Inherits:
-
Object
- Object
- Freddy::Payload::JsonAdapter
- Defined in:
- lib/freddy/payload.rb
Class Method Summary collapse
Class Method Details
.dump(payload) ⇒ Object
44 45 46 |
# File 'lib/freddy/payload.rb', line 44 def self.dump(payload) JSON.dump(serialize_time_objects(payload)) end |
.parse(payload) ⇒ Object
38 39 40 41 42 |
# 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) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 |
# 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 |