Class: Xenon::JsonMarshaller

Inherits:
Object
  • Object
show all
Includes:
Marshaller
Defined in:
lib/xenon/marshallers.rb

Instance Method Summary collapse

Methods included from Marshaller

#content_type, #marshal?, #unmarshal?

Instance Method Details

#marshal(obj) ⇒ Object



25
26
27
# File 'lib/xenon/marshallers.rb', line 25

def marshal(obj)
  [obj.to_json]
end

#media_typeObject



21
22
23
# File 'lib/xenon/marshallers.rb', line 21

def media_type
  MediaType::JSON
end

#unmarshal(body, as:) ⇒ Object



29
30
31
# File 'lib/xenon/marshallers.rb', line 29

def unmarshal(body, as:)
  as ? as.new.from_json(body.read) : JSON.load(body)
end