Class: EbayRequest::Response
- Inherits:
-
Object
- Object
- EbayRequest::Response
- Extended by:
- Dry::Initializer
- Defined in:
- lib/ebay_request/response.rb
Instance Method Summary collapse
- #data! ⇒ Object
- #error ⇒ Object
- #error_class ⇒ Object
- #errors ⇒ Object
- #severity(severity) ⇒ Object
- #success? ⇒ Boolean
- #warnings ⇒ Object
Instance Method Details
#data! ⇒ Object
15 16 17 18 |
# File 'lib/ebay_request/response.rb', line 15 def data! raise error unless success? data end |
#error ⇒ Object
37 38 39 |
# File 'lib/ebay_request/response.rb', line 37 def error error_class.new(errors.values.join(", "), errors) end |
#error_class ⇒ Object
32 33 34 35 |
# File 'lib/ebay_request/response.rb', line 32 def error_class fatal_code = (errors.keys.map(&:to_i) & fatal_errors.keys).first fatal_errors[fatal_code] || EbayRequest::Error end |
#errors ⇒ Object
20 21 22 |
# File 'lib/ebay_request/response.rb', line 20 def errors severity("Error") end |
#severity(severity) ⇒ Object
28 29 30 |
# File 'lib/ebay_request/response.rb', line 28 def severity(severity) Hash[errors_data.map { |s, c, m| [c.to_i, m] if s == severity }.compact] end |
#success? ⇒ Boolean
10 11 12 13 |
# File 'lib/ebay_request/response.rb', line 10 def success? ack = data["ack"] || data["Ack"] %w(Success Warning).include?(ack) end |
#warnings ⇒ Object
24 25 26 |
# File 'lib/ebay_request/response.rb', line 24 def warnings severity("Warning") end |