Class: ShopsavvyDataApi::APIResponse
- Inherits:
-
Object
- Object
- ShopsavvyDataApi::APIResponse
- Defined in:
- lib/shopsavvy_data_api/models.rb
Overview
Standard API response wrapper
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#meta ⇒ Object
readonly
Returns the value of attribute meta.
-
#success ⇒ Object
readonly
Returns the value of attribute success.
Instance Method Summary collapse
- #credits_remaining ⇒ Object
- #credits_used ⇒ Object
- #failure? ⇒ Boolean
-
#initialize(response_data, data_class: nil) ⇒ APIResponse
constructor
A new instance of APIResponse.
- #success? ⇒ Boolean
- #to_h ⇒ Object
Constructor Details
#initialize(response_data, data_class: nil) ⇒ APIResponse
Returns a new instance of APIResponse.
391 392 393 394 395 396 397 398 399 400 401 |
# File 'lib/shopsavvy_data_api/models.rb', line 391 def initialize(response_data, data_class: nil) @success = response_data["success"] @message = response_data["message"] @meta = response_data["meta"] ? APIMeta.new(response_data["meta"]) : nil @data = if data_class && response_data["data"] parse_data(response_data["data"], data_class) else response_data["data"] end end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
389 390 391 |
# File 'lib/shopsavvy_data_api/models.rb', line 389 def data @data end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
389 390 391 |
# File 'lib/shopsavvy_data_api/models.rb', line 389 def @message end |
#meta ⇒ Object (readonly)
Returns the value of attribute meta.
389 390 391 |
# File 'lib/shopsavvy_data_api/models.rb', line 389 def @meta end |
#success ⇒ Object (readonly)
Returns the value of attribute success.
389 390 391 |
# File 'lib/shopsavvy_data_api/models.rb', line 389 def success @success end |
Instance Method Details
#credits_remaining ⇒ Object
407 408 409 |
# File 'lib/shopsavvy_data_api/models.rb', line 407 def credits_remaining &.credits_remaining || 0 end |
#credits_used ⇒ Object
403 404 405 |
# File 'lib/shopsavvy_data_api/models.rb', line 403 def credits_used &.credits_used || 0 end |
#failure? ⇒ Boolean
415 416 417 |
# File 'lib/shopsavvy_data_api/models.rb', line 415 def failure? !success? end |
#success? ⇒ Boolean
411 412 413 |
# File 'lib/shopsavvy_data_api/models.rb', line 411 def success? success == true end |
#to_h ⇒ Object
419 420 421 422 423 424 425 426 |
# File 'lib/shopsavvy_data_api/models.rb', line 419 def to_h { success: success, data: data.respond_to?(:to_h) ? data.to_h : data, message: , meta: &.to_h } end |