class PensioAPI::Responses::Base

Attributes

raw[R]

Public Class Methods

new(request) click to toggle source
# File lib/pensio_api/responses/base.rb, line 8
def initialize(request)
  @raw = request.body
  @headers = request.headers
  unless success?
    raise PensioAPI::Errors::BadRequest.new(request) unless header_ok?
    raise PensioAPI::Errors::GatewayError.new(request) unless body_ok? || chargeback?
  end
end

Public Instance Methods

success?() click to toggle source
# File lib/pensio_api/responses/base.rb, line 17
def success?
  header_ok? && (body_ok? || chargeback?)
end

Private Instance Methods

body_ok?() click to toggle source
# File lib/pensio_api/responses/base.rb, line 27
def body_ok?
  !@raw.has_key?('Result') || ['Success', 'OK', nil].include?(@raw['Result'])
end
chargeback?() click to toggle source
# File lib/pensio_api/responses/base.rb, line 31
def chargeback?
  @raw['Result'] == 'ChargebackEvent'
end
header_ok?() click to toggle source
# File lib/pensio_api/responses/base.rb, line 23
def header_ok?
  @headers['ErrorCode'].to_i == 0
end