Module: Glia::Errors

Defined in:
lib/glia/errors.rb,
lib/glia/errors/error.rb,
lib/glia/errors/mapper.rb,
lib/glia/errors/naming.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, Naming Classes: AppleBusinessChatBusinessUsedByOtherSiteError, AuthorizationError, CarrierError, Error, FacebookAccessTokenNotPermanentError, FacebookAccessTokenPermissionsError, GeographicPermissionError, HeadersValidationError, InputValidationError, InternalServerError, InvalidFormatError, InvalidLengthError, InvalidNumberError, InvalidResourceStateError, InvalidTypeError, InvalidValueError, ItemsOverlapError, MalformedInputError, MessageBlockedError, MissingValueError, NotVerifiedError, OAuthCodeAlreadyUsedError, OAuthCodeExpiredError, RecipientOptedOutError, RemainingAssociationError, ResourceAlreadyExistsError, ResourceLimitExceededError, ResourceMinimumNotReachedError, ResourceNotFoundError, RouteNotFoundError, ServiceUnavailableError, TelephonyProviderQueueLimitExceededError, TelephonyProviderRateLimitExceededError, TwilioMessagingServiceConfigurationError, UnknownError, UnreachableDestinationError

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'
RESOURCE_LIMIT_EXCEEDED_ERROR =
'resource_limit_exceeded_error'
RESOURCE_MINIMUM_NOT_REACHED =
'resource_minimum_not_reached'
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'
ROUTE_NOT_FOUND_ERROR =
'route_not_found_error'
MALFORMED_INPUT_ERROR =
'malformed_input_error'
CARRIER_ERROR =
'carrier_error'
GEOGRAPHIC_PERMISSION_ERROR =
'geographic_permission_error'
MESSAGE_BLOCKED_ERROR =
'message_blocked_error'
TELEPHONY_PROVIDER_RATE_LIMIT_EXCEEDED_ERROR =
'telephony_provider_rate_limit_exceeded_error'
TELEPHONY_PROVIDER_QUEUE_LIMIT_EXCEEDED_ERROR =
'telephony_provider_queue_limit_exceeded_error'
TWILIO_MESSAGING_SERVICE_CONFIGURATION_ERROR =
'twilio_messaging_service_configuration_error'
UNREACHABLE_DESTINATION_ERROR =
'unreachable_destination_error'
HEADERS_VALIDATION_ERROR =
'headers_validation_error'
FACEBOOK_ACCESS_TOKEN_PERMISSIONS_ERROR =
'facebook_access_token_permissions_error'
FACEBOOK_ACCESS_TOKEN_NOT_PERMANENT_ERROR =
'facebook_access_token_not_permanent_error'
OAUTH_CODE_EXPIRED_ERROR =
'oauth_code_expired_error'
OAUTH_CODE_ALREADY_USED_ERROR =
'oauth_code_already_used_error'
APPLE_BUSINESS_CHAT_BUSINESS_USED_BY_OTHER_SITE_ERROR =
'apple_business_chat_business_used_by_other_site_error'
ITEMS_OVERLAP_ERROR =
'items_overlap_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.errors, custom_error_map)
  elsif dry_validation_version <= Gem::Version.new('2.0')
    Mapper.from_dry_validation_result(result.to_h, result.errors.to_h, custom_error_map)
  else
    raise 'Unsupported dry-validation version'
  end
end