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
41 42 43 |
# File 'lib/freddy/payload.rb', line 41 def self.dump(payload) JSON.dump(serialize_time_objects(payload)) end |
.parse(payload) ⇒ Object
35 36 37 38 39 |
# File 'lib/freddy/payload.rb', line 35 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
45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/freddy/payload.rb', line 45 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 |