class Opushon::Response

Attributes

body[R]
headers[R]

Public Class Methods

load(hash) click to toggle source
# File lib/opushon/response.rb, line 7
def self.load(hash)
  raise ArgumentError, "hash #{hash.inspect}" unless hash.is_a?(Hash)

  headers = hash.fetch('headers', nil)
  body    = hash.fetch('body',    nil)

  hash = {
    headers:  headers,
    body:     body
  }.compact

  new(**hash)
end
new(headers: {}, body: {}) click to toggle source
# File lib/opushon/response.rb, line 23
def initialize(headers: {}, body: {})
  raise ArgumentError, "headers #{headers.inspect}" unless headers.is_a?(Hash)
  raise ArgumentError, "body #{body.inspect}"       unless body.is_a?(Hash)

  @headers  = headers.map { |k, v| [k.to_sym, Parameter.load(v)] }.to_h
  @body     = body.map    { |k, v| [k.to_sym, Parameter.load(v)] }.to_h
end

Public Instance Methods

to_h() click to toggle source
# File lib/opushon/response.rb, line 31
def to_h
  {
    headers:  headers.map { |k, v| [k, v.to_h] }.to_h,
    body:     body.map    { |k, v| [k, v.to_h] }.to_h
  }
end