class Resas::Api::Response::Body

Public Instance Methods

description() click to toggle source

@return [String or nil]

# File lib/resas/api/response/body.rb, line 41
def description
  @obj[ 'description' ]
end
has_description?() click to toggle source

@return [Boolean]

# File lib/resas/api/response/body.rb, line 51
def has_description?
  description.present?
end
has_message?() click to toggle source

@return [Boolean]

# File lib/resas/api/response/body.rb, line 46
def has_message?
  message.present?
end
message() click to toggle source

@return [String or nil]

# File lib/resas/api/response/body.rb, line 30
def message
  @obj[ 'message' ]
end
result() click to toggle source

@return [Array or nil]

# File lib/resas/api/response/body.rb, line 25
def result
  @obj[ 'result' ]
end
status_code() click to toggle source

@return [Integer or nil]

# File lib/resas/api/response/body.rb, line 35
def status_code
  _status_code = @obj[ 'statusCode' ]
  _status_code.present? ? _status_code.to_i : nil
end

Private Instance Methods

error_class() click to toggle source
# File lib/resas/api/response/body.rb, line 65
def error_class
  case status_code
  when 400
    case message
    when 'Validation Failed.'
      Resas::Api::Response::ValidationError
    else
      Resas::Api::Response::BadRequest
    end
  when 403
    Resas::Api::Response::Forbidden
  when 404
    Resas::Api::Response::NotFound
  when 429
    Resas::Api::Response::TooManyRequests
  else
    Resas::Api::Response::BaseError
  end
end
raise_error_if_needed() click to toggle source
# File lib/resas/api/response/body.rb, line 57
def raise_error_if_needed
  unless result.present?
    e = error_class.new( self )
    binding.pry if Resas::Api.env.development? || Resas::Api.env.test?
    raise e
  end
end
rescue_method_missing(e) click to toggle source
# File lib/resas/api/response/body.rb, line 85
        def rescue_method_missing(e)
          e.message = <<-MSG
            Resas::Api::Response::Body#method_missing
            #{ e.message }
              method_name: #{ method_name }, @obj.class: #{ @obj.class }
          MSG
          binding.pry if Resas::Api.env.development? || Resas::Api.env.test?
          raise e
        end