module AWS::DynamoDB::Errors::ModeledError

Public Class Methods

new(request = nil, response = nil) click to toggle source
# File lib/aws/dynamo_db/errors.rb, line 21
def initialize(request = nil, response = nil)
  message = extract_message(response)
  include_error_type(response) if response
  super(request, response, message)
end

Public Instance Methods

code() click to toggle source
# File lib/aws/dynamo_db/errors.rb, line 45
def code
  self.class.name =~ %r(::)?([^:]+)$/
  $2
end
extract_message(response) click to toggle source
# File lib/aws/dynamo_db/errors.rb, line 27
def extract_message(response)
  if response and response.body != ''
    JSON.load(response.body)["message"] || code
  elsif code == 'RequestEntityTooLarge'
    'Request body must be less than 1 MB'
  else
    code
  end
end
include_error_type(response) click to toggle source
# File lib/aws/dynamo_db/errors.rb, line 37
def include_error_type(response)
  if response.status >= 500
    extend Errors::ServerError
  else
    extend Errors::ClientError
  end
end