Class: ShellEv::TooManyRequestsException
- Inherits:
-
APIException
- Object
- CoreLibrary::ApiException
- APIException
- ShellEv::TooManyRequestsException
- Defined in:
- lib/shell_ev/exceptions/too_many_requests_exception.rb
Overview
TooManyRequests class.
Instance Attribute Summary collapse
-
#errors ⇒ Array[RatelimitErrMsg]
Exception details of the error.
-
#request_id ⇒ String
RequestID is unique identifier value that is attached to requests and messages that allow reference to a particular transaction or event chain.
-
#status ⇒ String
Status of the request.
Instance Method Summary collapse
-
#initialize(reason, response) ⇒ TooManyRequestsException
constructor
The constructor.
-
#unbox(hash) ⇒ Object
Populates this object by extracting properties from a hash.
Constructor Details
#initialize(reason, response) ⇒ TooManyRequestsException
The constructor.
28 29 30 31 32 |
# File 'lib/shell_ev/exceptions/too_many_requests_exception.rb', line 28 def initialize(reason, response) super(reason, response) hash = APIHelper.json_deserialize(@response.raw_body) unbox(hash) end |
Instance Attribute Details
#errors ⇒ Array[RatelimitErrMsg]
Exception details of the error
23 24 25 |
# File 'lib/shell_ev/exceptions/too_many_requests_exception.rb', line 23 def errors @errors end |
#request_id ⇒ String
RequestID is unique identifier value that is attached to requests and messages that allow reference to a particular transaction or event chain.
15 16 17 |
# File 'lib/shell_ev/exceptions/too_many_requests_exception.rb', line 15 def request_id @request_id end |
#status ⇒ String
Status of the request
19 20 21 |
# File 'lib/shell_ev/exceptions/too_many_requests_exception.rb', line 19 def status @status end |
Instance Method Details
#unbox(hash) ⇒ Object
Populates this object by extracting properties from a hash. response body.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/shell_ev/exceptions/too_many_requests_exception.rb', line 37 def unbox(hash) @request_id = hash.key?('requestId') ? hash['requestId'] : SKIP @status = hash.key?('status') ? hash['status'] : SKIP # Parameter is an array, so we need to iterate through it @errors = nil unless hash['errors'].nil? @errors = [] hash['errors'].each do |structure| @errors << (RatelimitErrMsg.from_hash(structure) if structure) end end @errors = SKIP unless hash.key?('errors') end |