class Credova::Response

Attributes

success[RW]

Public Class Methods

new(response) click to toggle source
# File lib/credova/response.rb, line 6
def initialize(response)
  @response = response

  case @response
  when Net::HTTPUnauthorized
    Credova::Error::NotAuthorized.new(@response.body)
  when Net::HTTPNotFound
    Credova::Error::NotFound.new(@response.body)
  when Net::HTTPNoContent
    Credova::Error::NoContent.new(@response.body)
  when Net::HTTPOK, Net::HTTPSuccess
    self.success = true
    _data = (JSON.parse(@response.body) if @response.body.present?)

    @data = case
    when _data.is_a?(Hash)
      _data.deep_symbolize_keys
    when _data.is_a?(Array)
      _data.map(&:deep_symbolize_keys)
    end
  else
    raise Credova::Error::RequestError.new(@response.body)
  end
end

Public Instance Methods

[](key) click to toggle source
# File lib/credova/response.rb, line 31
def [](key)
  @data[key]
end
body() click to toggle source
# File lib/credova/response.rb, line 35
def body
  @data
end
fetch(key) click to toggle source
# File lib/credova/response.rb, line 39
def fetch(key)
  @data.fetch(key)
end
success?() click to toggle source
# File lib/credova/response.rb, line 43
def success?
  !!success
end