Class: ShopifyClient::ResponseErrors
- Inherits:
-
Object
- Object
- ShopifyClient::ResponseErrors
- Includes:
- Enumerable
- Defined in:
- lib/shopify-client/response_errors.rb
Direct Known Subclasses
Class Method Summary collapse
-
.from_response_data(data) ⇒ ResponseErrors
Certain error responses, such as ‘Not Found’, use a string rather than an object.
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize(errors = {}) ⇒ ResponseErrors
constructor
A new instance of ResponseErrors.
-
#message?(message_patterns) ⇒ Boolean
message_patterns [Array<Regexp, String>].
-
#messages ⇒ Array<String]
Array<String].
- #to_h ⇒ Hash
Constructor Details
#initialize(errors = {}) ⇒ ResponseErrors
Returns a new instance of ResponseErrors.
22 23 24 |
# File 'lib/shopify-client/response_errors.rb', line 22 def initialize(errors = {}) @errors = errors end |
Class Method Details
.from_response_data(data) ⇒ ResponseErrors
Certain error responses, such as ‘Not Found’, use a string rather than an object. For consistency, these messages are set under ‘resource’.
12 13 14 15 16 17 18 |
# File 'lib/shopify-client/response_errors.rb', line 12 def from_response_data(data) errors = data['errors'] return new if errors.nil? errors.is_a?(String) ? new('resource' => errors) : new(errors) end |
Instance Method Details
#each ⇒ Object
50 51 52 |
# File 'lib/shopify-client/response_errors.rb', line 50 def each(...) @errors.dup.each(...) end |
#message?(message_patterns) ⇒ Boolean
message_patterns [Array<Regexp, String>]
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/shopify-client/response_errors.rb', line 36 def () .any? do |pattern| case pattern when Regexp .any? { || .match?(pattern) } when String .include?(pattern) end end end |
#messages ⇒ Array<String]
Returns Array<String].
27 28 29 30 31 |
# File 'lib/shopify-client/response_errors.rb', line 27 def @errors.map do |field, | "#{} [#{field}]" end end |
#to_h ⇒ Hash
55 56 57 |
# File 'lib/shopify-client/response_errors.rb', line 55 def to_h @errors.dup end |