class Dibuk::Response::Base

Constants

SUCCESS_HTTP_STATUSES
SUCCESS_STATUSES

Public Instance Methods

body() click to toggle source
# File lib/dibuk/response/base.rb, line 36
def body
  return unless raw_body
  @body ||=
      begin
        JSON.parse(raw_body, symbolize_names: true)
      rescue => e
        raise InvalidResponseError, e.message
      end
end
error?() click to toggle source
# File lib/dibuk/response/base.rb, line 14
def error?
  !success?
end
error_code() click to toggle source
# File lib/dibuk/response/base.rb, line 18
def error_code
  return unless error?
  body[:eNum].to_s
end
error_data() click to toggle source
# File lib/dibuk/response/base.rb, line 23
def error_data
  return unless error?
  body[:eData]
end
http_status_ok() click to toggle source
# File lib/dibuk/response/base.rb, line 46
def http_status_ok
  @http_status_ok ||= http_response.instance_of? Net::HTTPOK
end
limit_exceeded?() click to toggle source
# File lib/dibuk/response/base.rb, line 28
def limit_exceeded?
  error_code == '2015'
end
not_buyed?() click to toggle source
# File lib/dibuk/response/base.rb, line 32
def not_buyed?
  error_code == '2004'
end
success?() click to toggle source
# File lib/dibuk/response/base.rb, line 10
def success?
  http_success? && status_success?
end

Private Instance Methods

http_success?() click to toggle source
# File lib/dibuk/response/base.rb, line 52
def http_success?
  http_status_ok
end
raw_body() click to toggle source
# File lib/dibuk/response/base.rb, line 64
def raw_body
  @raw_body ||= http_response.body
end
status() click to toggle source
# File lib/dibuk/response/base.rb, line 60
def status
  body[:status] || ''
end
status_success?() click to toggle source
# File lib/dibuk/response/base.rb, line 56
def status_success?
  self.class::SUCCESS_STATUSES.include?(status)
end