Module: Glia::Errors

Defined in:
lib/glia/errors.rb,
lib/glia/errors/error.rb,
lib/glia/errors/mapper.rb,
lib/glia/errors/error_types.rb,
lib/glia/errors/client_errors.rb,
lib/glia/errors/server_errors.rb

Overview

Glia REST API errors

Defined Under Namespace

Modules: Mapper Classes: AuthorizationError, Error, InputValidationError, InternalServerError, InvalidFormatError, InvalidLengthError, InvalidNumberError, InvalidResourceStateError, InvalidTypeError, InvalidValueError, LimitExceededError, MissingValueError, NotVerifiedError, RecipientOptedOutError, RemainingAssociationError, ResourceAlreadyExistsError, ResourceNotFoundError, ServiceUnavailableError, UnknownError

Constant Summary collapse

INPUT_VALIDATION_ERROR =

Client errors

'input_validation_error'
INVALID_TYPE_ERROR =
'invalid_type_error'
INVALID_NUMBER_ERROR =
'invalid_number_error'
INVALID_VALUE_ERROR =
'invalid_value_error'
INVALID_FORMAT_ERROR =
'invalid_format_error'
INVALID_LENGTH_ERROR =
'invalid_length_error'
MISSING_VALUE_ERROR =
'missing_value_error'
UNKNOWN_ERROR =
'unknown_error'
RESOURCE_NOT_FOUND_ERROR =
'resource_not_found_error'
NOT_VERIFIED_ERROR =
'not_verified_error'
REMAINING_ASSOCIATION_ERROR =
'remaining_association_error'
LIMIT_EXCEEDED_ERROR =
'limit_exceeded_error'
RESOURCE_ALREADY_EXISTS_ERROR =
'resource_already_exists_error'
INVALID_RESOURCE_STATE_ERROR =
'invalid_resource_state_error'
AUTHORIZATION_ERROR =
'authorization_error'
RECIPIENT_OPTED_OUT_ERROR =
'recipient_opted_out_error'
INTERNAL_SERVER_ERROR =

Server errors

'internal_server_error'
SERVICE_UNAVAILABLE_ERROR =
'service_unavailable_error'

Class Method Summary collapse

Class Method Details

.from_dry_validation_result(result, custom_error_map = {}) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/glia/errors.rb', line 12

def self.from_dry_validation_result(result, custom_error_map = {})
  dry_validation_version = Gem.loaded_specs['dry-validation'].version
  if dry_validation_version < Gem::Version.new('1.0')
    Mapper.from_dry_validation_result(result.output, result.messages, custom_error_map)
  elsif dry_validation_version <= Gem::Version.new('1.6')
    Mapper.from_dry_validation_result(result.to_h, result.errors.to_h, custom_error_map)
  else
    raise 'Unsupported dry-validation version'
  end
end