class QiwiPay::Api::Response

QiwiPay API response

Constants

INTEGER_PARAMS

Parameters of integer type

Public Class Methods

new(response_code, response_body) click to toggle source

@param response_code [Integer] HTTP response status code @param response_body [String] Response body in JSON

Calls superclass method
# File lib/qiwi-pay/api/response.rb, line 22
def initialize(response_code, response_body)
  begin
    params = JSON.parse(response_body)
    (INTEGER_PARAMS & params.keys).each do |p|
      params[p] = params[p] && params[p].to_i
    end
    super params
  rescue JSON::ParserError
    super error_code: -1
    define_singleton_method :error_message, ->{ response_body }
  end
  send(:http_code=, response_code)
end

Public Instance Methods

success?() click to toggle source
# File lib/qiwi-pay/api/response.rb, line 36
def success?
  http_code == 200 && error_code == 0
end