class ConClas::Core::ConClasResponse

Public Class Methods

new(result, status_code, headers) click to toggle source
# File lib/conclas/core/conclas_response.rb, line 10
def initialize(result, status_code, headers)
  @result = JSON.parse(result, :quirks_mode => true)
  @status_code = status_code
  @headers = headers
end

Public Instance Methods

request_successful?() click to toggle source
# File lib/conclas/core/conclas_response.rb, line 53
def request_successful?
  if @result.key?("errors")
    error = @result["errors"][0]
    raise_exception(error)
  end
  true
end

Private Instance Methods

raise_exception(error) click to toggle source
# File lib/conclas/core/conclas_response.rb, line 16
def raise_exception(error)
  code = error["code"].to_i
  
  case code
  when 2
    raise Exceptions::PaymentRequiredException, error["message"]
  when 3
    raise Exceptions::BannedAccountException, error["message"]
  when 4
    raise Exceptions::AccountExceedFreeLimitException, error["message"]
  when 10
    raise Exceptions::MissingTokenException, error["message"]
  when 11
    raise Exceptions::InvalidTokenException, error["message"]
  when 12
    raise Exceptions::IncorrectCredentialsException, error["message"]
  when 13
    raise Exceptions::InvalidModeException, error["message"]
  when 14
    raise Exceptions::InvalidBodyMessageException, error["message"]
  when 15
    raise Exceptions::InvalidBodyFormatException, error["message"]
  when 16
    raise Exceptions::ApiLimitationException, error["message"]
  when 30
    raise Exceptions::LCoreUnsupportedLanguageException, error["message"]
  when 31
    raise Exceptions::LCoreInternalException, error["message"]
  when 32
    raise Exceptions::ContentTimeoutException, error["message"]
  else
    raise "Error not categorized"
  end
end