Exception: Noths::ApiError
- Inherits:
-
StandardError
- Object
- StandardError
- Noths::ApiError
- Defined in:
- lib/noths/api_error.rb
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#response_body ⇒ Object
readonly
Returns the value of attribute response_body.
-
#response_headers ⇒ Object
readonly
Returns the value of attribute response_headers.
Instance Method Summary collapse
-
#initialize(arg = nil) ⇒ ApiError
constructor
Usage examples: ApiError.new ApiError.new(“message”) ApiError.new(:code => 500, :response_headers => {}, :response_body => “”) ApiError.new(:code => 404, :message => “Not Found”).
- #response ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(arg = nil) ⇒ ApiError
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/noths/api_error.rb', line 12 def initialize(arg = nil) if arg.is_a? Hash if arg.key?(:message) || arg.key?('message') super(arg[:message] || arg['message']) else super arg end arg.each do |k, v| instance_variable_set "@#{k}", v end else super arg end end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
5 6 7 |
# File 'lib/noths/api_error.rb', line 5 def code @code end |
#response_body ⇒ Object (readonly)
Returns the value of attribute response_body.
5 6 7 |
# File 'lib/noths/api_error.rb', line 5 def response_body @response_body end |
#response_headers ⇒ Object (readonly)
Returns the value of attribute response_headers.
5 6 7 |
# File 'lib/noths/api_error.rb', line 5 def response_headers @response_headers end |
Instance Method Details
#response ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/noths/api_error.rb', line 35 def response return if response_headers.blank? return response_body unless response_headers['Content-Type'].include?('application/json') JSON.parse(response_body, symbolize_names: true) end |
#to_s ⇒ Object
28 29 30 31 32 33 |
# File 'lib/noths/api_error.rb', line 28 def to_s [ super, response ].compact.join(': ') end |