class Ingenico::Direct::SDK::DefaultImpl::DefaultMarshaller

marshals objects to and from JSON format. Currently supports marshalling and unmarshalling of classes that support class.new_from_hash and class#to_h

Public Instance Methods

marshal(request_object) click to toggle source

Marshals the request_object to a JSON string using request_object#to_h

# File lib/ingenico/direct/sdk/defaultimpl/default_marshaller.rb, line 17
def marshal(request_object)
  JSON.pretty_generate(request_object.to_h)
end
unmarshal(json_string, klass) click to toggle source

Unmarshals a JSON string into an object of type klass using klass.new_from_hash @param [String] json_string

# File lib/ingenico/direct/sdk/defaultimpl/default_marshaller.rb, line 23
def unmarshal(json_string, klass)
  return nil unless json_string
  return '' if json_string.empty?
  return klass.new_from_hash(JSON.parse(json_string)) if klass.respond_to?(:new_from_hash)

  raise NotImplementedError
end