Class: Zernio::ErrorResponseDetails
- Inherits:
-
ApiModelBase
- Object
- ApiModelBase
- Zernio::ErrorResponseDetails
- Defined in:
- lib/zernio-sdk/models/error_response_details.rb
Overview
Additional structured context (e.g. field-level validation errors), for example privateReplyConsumed on the private-reply endpoint's 400 when the comment's single reply is already spent. On a Google Ads 429 it carries quotaExhausted: true, which marks the failure as Google's own ads quota rather than a Zernio rate limit, so you can keep calling other platforms instead of backing off everywhere. When Google names the scope it also carries quotaScope: DEVELOPER means the shared developer-token budget (every Google account is affected and there is nothing to change on your side), ACCOUNT means your own ad account. A Meta 429 carries neither field.
Defined Under Namespace
Classes: EnumAttributeValidator
Instance Attribute Summary collapse
-
#quota_exhausted ⇒ Object
Google Ads 429 only.
-
#quota_scope ⇒ Object
Google Ads 429 only, when Google names the scope.
Class Method Summary collapse
-
.acceptable_attribute_map ⇒ Object
Returns attribute mapping this model knows about.
-
.acceptable_attributes ⇒ Object
Returns all the JSON keys this model knows about.
-
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
-
.build_from_hash(attributes) ⇒ Object
Builds the object from hash.
-
.openapi_nullable ⇒ Object
List of attributes with nullable: true.
-
.openapi_types ⇒ Object
Attribute type mapping.
Instance Method Summary collapse
-
#==(o) ⇒ Object
Checks equality by comparing each attribute.
- #eql?(o) ⇒ Boolean
-
#hash ⇒ Integer
Calculates hash code according to all attributes.
-
#initialize(attributes = {}) ⇒ ErrorResponseDetails
constructor
Initializes the object.
-
#list_invalid_properties ⇒ Object
Show invalid properties with the reasons.
-
#to_hash ⇒ Hash
Returns the object in the form of hash.
-
#valid? ⇒ Boolean
Check to see if the all the properties in the model are valid.
Methods inherited from ApiModelBase
_deserialize, #_to_hash, #to_body, #to_s
Constructor Details
#initialize(attributes = {}) ⇒ ErrorResponseDetails
Initializes the object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 81 def initialize(attributes = {}) if (!attributes.is_a?(Hash)) fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::ErrorResponseDetails` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key acceptable_attribute_map = self.class.acceptable_attribute_map attributes = attributes.each_with_object({}) { |(k, v), h| if (!acceptable_attribute_map.key?(k.to_sym)) fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::ErrorResponseDetails`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect end h[k.to_sym] = v } if attributes.key?(:'quota_exhausted') self.quota_exhausted = attributes[:'quota_exhausted'] end if attributes.key?(:'quota_scope') self.quota_scope = attributes[:'quota_scope'] end end |
Instance Attribute Details
#quota_exhausted ⇒ Object
Google Ads 429 only. True when the upstream Google Ads quota is spent rather than a Zernio limit.
20 21 22 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 20 def quota_exhausted @quota_exhausted end |
#quota_scope ⇒ Object
Google Ads 429 only, when Google names the scope. DEVELOPER is the shared developer-token budget; ACCOUNT is your ad account.
23 24 25 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 23 def quota_scope @quota_scope end |
Class Method Details
.acceptable_attribute_map ⇒ Object
Returns attribute mapping this model knows about
56 57 58 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 56 def self.acceptable_attribute_map attribute_map end |
.acceptable_attributes ⇒ Object
Returns all the JSON keys this model knows about
61 62 63 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 61 def self.acceptable_attributes acceptable_attribute_map.values end |
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
48 49 50 51 52 53 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 48 def self.attribute_map { :'quota_exhausted' => :'quotaExhausted', :'quota_scope' => :'quotaScope' } end |
.build_from_hash(attributes) ⇒ Object
Builds the object from hash
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 155 def self.build_from_hash(attributes) return nil unless attributes.is_a?(Hash) attributes = attributes.transform_keys(&:to_sym) transformed_hash = {} openapi_types.each_pair do |key, type| if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? transformed_hash["#{key}"] = nil elsif type =~ /\AArray<(.*)>/i # check to ensure the input is an array given that the attribute # is documented as an array but the input is not if attributes[attribute_map[key]].is_a?(Array) transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } end elsif !attributes[attribute_map[key]].nil? transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) end end new(transformed_hash) end |
.openapi_nullable ⇒ Object
List of attributes with nullable: true
74 75 76 77 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 74 def self.openapi_nullable Set.new([ ]) end |
.openapi_types ⇒ Object
Attribute type mapping.
66 67 68 69 70 71 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 66 def self.openapi_types { :'quota_exhausted' => :'Boolean', :'quota_scope' => :'String' } end |
Instance Method Details
#==(o) ⇒ Object
Checks equality by comparing each attribute.
133 134 135 136 137 138 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 133 def ==(o) return true if self.equal?(o) self.class == o.class && quota_exhausted == o.quota_exhausted && quota_scope == o.quota_scope end |
#eql?(o) ⇒ Boolean
142 143 144 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 142 def eql?(o) self == o end |
#hash ⇒ Integer
Calculates hash code according to all attributes.
148 149 150 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 148 def hash [quota_exhausted, quota_scope].hash end |
#list_invalid_properties ⇒ Object
Show invalid properties with the reasons. Usually used together with valid?
106 107 108 109 110 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 106 def list_invalid_properties warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' invalid_properties = Array.new invalid_properties end |
#to_hash ⇒ Hash
Returns the object in the form of hash
177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 177 def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = self.send(attr) if value.nil? is_nullable = self.class.openapi_nullable.include?(attr) next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) end hash[param] = _to_hash(value) end hash end |
#valid? ⇒ Boolean
Check to see if the all the properties in the model are valid
114 115 116 117 118 119 |
# File 'lib/zernio-sdk/models/error_response_details.rb', line 114 def valid? warn '[DEPRECATED] the `valid?` method is obsolete' quota_scope_validator = EnumAttributeValidator.new('String', ["DEVELOPER", "ACCOUNT"]) return false unless quota_scope_validator.valid?(@quota_scope) true end |