Exception: PostcodeAnywhere::Error
- Inherits:
-
StandardError
- Object
- StandardError
- PostcodeAnywhere::Error
- Defined in:
- lib/postcode_anywhere/error.rb
Overview
Custom error class for rescuing from all PostcodeAnywhere errors
Constant Summary collapse
- ClientError =
Class.new(self)
- BadRequest =
Class.new(ClientError)
Class.new(ClientError)
- Forbidden =
Class.new(ClientError)
- NotFound =
Class.new(ClientError)
- NotAcceptable =
Class.new(ClientError)
- RequestTimeout =
Class.new(ClientError)
- UnprocessableEntity =
Class.new(ClientError)
- TooManyRequests =
Class.new(ClientError)
- ServerError =
Class.new(self)
- InternalServerError =
Class.new(ServerError)
- BadGateway =
Class.new(ServerError)
Class.new(ServerError)
- GatewayTimeout =
Class.new(ServerError)
- UnknownError =
Postcode anywhere specific errors
Class.new(ServerError)
- UnknownKey =
Class.new(ClientError)
- AccountOutOfCredit =
Class.new(Forbidden)
- IpDenied =
Class.new(Forbidden)
- UrlDenied =
Class.new(Forbidden)
- ServiceDeniedForKey =
Class.new(Forbidden)
- ServiceDeniedForPlan =
Class.new(Forbidden)
- KeyDailyLimitExceeded =
Class.new(Forbidden)
- SurgeProtectorRunning =
Class.new(Forbidden)
- SurgeProtectorTriggered =
Class.new(Forbidden)
- NoValidLicense =
Class.new(Forbidden)
- ManagementKeyRequired =
Class.new(Forbidden)
- DemoLimitExceeded =
Class.new(Forbidden)
- FreeLimitExceeded =
Class.new(Forbidden)
- IncorrectKeyType =
Class.new(Forbidden)
- KeyExpired =
Class.new(Forbidden)
- ServiceSpecificError =
Class.new(ClientError)
Instance Attribute Summary collapse
-
#cause ⇒ Object
readonly
Returns the value of attribute cause.
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#resolution ⇒ Object
readonly
Returns the value of attribute resolution.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(description = '', code = nil, cause = '', resolution = '') ⇒ Error
constructor
A new instance of Error.
Constructor Details
#initialize(description = '', code = nil, cause = '', resolution = '') ⇒ Error
Returns a new instance of Error.
75 76 77 78 79 80 |
# File 'lib/postcode_anywhere/error.rb', line 75 def initialize(description = '', code = nil, cause = '', resolution = '') super(description) @code = code @cause = cause @resolution = resolution end |
Instance Attribute Details
#cause ⇒ Object (readonly)
Returns the value of attribute cause.
5 6 7 |
# File 'lib/postcode_anywhere/error.rb', line 5 def cause @cause end |
#code ⇒ Object (readonly)
Returns the value of attribute code.
4 5 6 |
# File 'lib/postcode_anywhere/error.rb', line 4 def code @code end |
#resolution ⇒ Object (readonly)
Returns the value of attribute resolution.
6 7 8 |
# File 'lib/postcode_anywhere/error.rb', line 6 def resolution @resolution end |
Class Method Details
.errors ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/postcode_anywhere/error.rb', line 14 def errors @errors ||= { 400 => PostcodeAnywhere::Error::BadRequest, 401 => PostcodeAnywhere::Error::Unauthorized, 403 => PostcodeAnywhere::Error::Forbidden, 404 => PostcodeAnywhere::Error::NotFound, 406 => PostcodeAnywhere::Error::NotAcceptable, 408 => PostcodeAnywhere::Error::RequestTimeout, 422 => PostcodeAnywhere::Error::UnprocessableEntity, 429 => PostcodeAnywhere::Error::TooManyRequests, 500 => PostcodeAnywhere::Error::InternalServerError, 502 => PostcodeAnywhere::Error::BadGateway, 503 => PostcodeAnywhere::Error::ServiceUnavailable, 504 => PostcodeAnywhere::Error::GatewayTimeout } end |
.from_response(error_hash) ⇒ Object
9 10 11 12 |
# File 'lib/postcode_anywhere/error.rb', line 9 def from_response(error_hash) , code, cause, resolution = parse_error(error_hash) new(, code, cause, resolution) end |