Module: Angus::Remote::Response::Serializer

Defined in:
lib/angus/remote/response/serializer.rb

Class Method Summary collapse

Class Method Details

.serialize(response) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/angus/remote/response/serializer.rb', line 11

def self.serialize(response)
  h = {}
  h['status_code'] = response[:status_code]
  h['body'] = response[:body]
  h['service_code_name'] = response[:service_code_name]
  h['service_version'] = response[:service_version]
  h['operation_namespace'] = response[:operation_namespace]
  h['operation_code_name'] = response[:operation_code_name]

  h['body'].force_encoding('UTF-8')

  JSON(h)
end

.unserialize(s) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/angus/remote/response/serializer.rb', line 25

def self.unserialize(s)
  s = JSON(s)

  service_code_name = s['service_code_name']
  version = s['service_version']

  operation_code_name = s['operation_code_name']
  operation_namespace = s['operation_namespace']
  status_code = s['status_code']
  body = s['body']

  Response::Builder.build(status_code, body, service_code_name, version,
                          operation_namespace, operation_code_name)
end