Class: Spatio::ApiError
- Inherits:
-
ApiModelBase
- Object
- ApiModelBase
- Spatio::ApiError
- Defined in:
- lib/spatio-sdk/models/api_error.rb,
lib/spatio-sdk/api_error.rb
Overview
Standard error envelope returned by 4xx and 5xx responses across the SpatioAPI. Some endpoints attach extra machine-readable fields (‘code`, `accounts`, `requiresPassword`, etc.) — those are documented on the individual operation.
Instance Attribute Summary collapse
-
#code ⇒ Object
Machine-readable error code.
-
#error ⇒ Object
Human-readable error message.
-
#response_body ⇒ Object
readonly
Returns the value of attribute response_body.
-
#response_headers ⇒ Object
readonly
Returns the value of attribute response_headers.
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 = {}) ⇒ ApiError
constructor
Initializes the object.
-
#list_invalid_properties ⇒ Object
Show invalid properties with the reasons.
- #message ⇒ Object
-
#to_hash ⇒ Hash
Returns the object in the form of hash.
-
#to_s ⇒ Object
Override to_s to display a friendly error message.
-
#valid? ⇒ Boolean
Check to see if the all the properties in the model are valid.
Methods inherited from ApiModelBase
_deserialize, #_to_hash, #to_body
Constructor Details
#initialize(attributes = {}) ⇒ ApiError
Initializes the object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/spatio-sdk/api_error.rb', line 22 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 @message = arg end end |
Instance Attribute Details
#code ⇒ Object
Machine-readable error code. Stable across releases for the canonical codes (‘ambiguous_account`, `no_notes_provider`, `note_not_found`). Absent for generic errors.
23 24 25 |
# File 'lib/spatio-sdk/models/api_error.rb', line 23 def code @code end |
#error ⇒ Object
Human-readable error message.
20 21 22 |
# File 'lib/spatio-sdk/models/api_error.rb', line 20 def error @error end |
#response_body ⇒ Object (readonly)
Returns the value of attribute response_body.
15 16 17 |
# File 'lib/spatio-sdk/api_error.rb', line 15 def response_body @response_body end |
#response_headers ⇒ Object (readonly)
Returns the value of attribute response_headers.
15 16 17 |
# File 'lib/spatio-sdk/api_error.rb', line 15 def response_headers @response_headers end |
Class Method Details
.acceptable_attribute_map ⇒ Object
Returns attribute mapping this model knows about
34 35 36 |
# File 'lib/spatio-sdk/models/api_error.rb', line 34 def self.acceptable_attribute_map attribute_map end |
.acceptable_attributes ⇒ Object
Returns all the JSON keys this model knows about
39 40 41 |
# File 'lib/spatio-sdk/models/api_error.rb', line 39 def self.acceptable_attributes acceptable_attribute_map.values end |
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
26 27 28 29 30 31 |
# File 'lib/spatio-sdk/models/api_error.rb', line 26 def self.attribute_map { :'error' => :'error', :'code' => :'code' } end |
.build_from_hash(attributes) ⇒ Object
Builds the object from hash
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
# File 'lib/spatio-sdk/models/api_error.rb', line 138 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
52 53 54 55 |
# File 'lib/spatio-sdk/models/api_error.rb', line 52 def self.openapi_nullable Set.new([ ]) end |
.openapi_types ⇒ Object
Attribute type mapping.
44 45 46 47 48 49 |
# File 'lib/spatio-sdk/models/api_error.rb', line 44 def self.openapi_types { :'error' => :'String', :'code' => :'String' } end |
Instance Method Details
#==(o) ⇒ Object
Checks equality by comparing each attribute.
116 117 118 119 120 121 |
# File 'lib/spatio-sdk/models/api_error.rb', line 116 def ==(o) return true if self.equal?(o) self.class == o.class && error == o.error && code == o.code end |
#eql?(o) ⇒ Boolean
125 126 127 |
# File 'lib/spatio-sdk/models/api_error.rb', line 125 def eql?(o) self == o end |
#hash ⇒ Integer
Calculates hash code according to all attributes.
131 132 133 |
# File 'lib/spatio-sdk/models/api_error.rb', line 131 def hash [error, code].hash end |
#list_invalid_properties ⇒ Object
Show invalid properties with the reasons. Usually used together with valid?
86 87 88 89 90 91 92 93 94 |
# File 'lib/spatio-sdk/models/api_error.rb', line 86 def list_invalid_properties warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' invalid_properties = Array.new if @error.nil? invalid_properties.push('invalid value for "error", error cannot be nil.') end invalid_properties end |
#message ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/spatio-sdk/api_error.rb', line 44 def if @message.nil? msg = "Error message: the server returns an error" else msg = @message end msg += "\nHTTP status code: #{code}" if code msg += "\nResponse headers: #{response_headers}" if response_headers msg += "\nResponse body: #{response_body}" if response_body msg end |
#to_hash ⇒ Hash
Returns the object in the form of hash
160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/spatio-sdk/models/api_error.rb', line 160 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 |
#to_s ⇒ Object
Override to_s to display a friendly error message
40 41 42 |
# File 'lib/spatio-sdk/api_error.rb', line 40 def to_s end |
#valid? ⇒ Boolean
Check to see if the all the properties in the model are valid
98 99 100 101 102 |
# File 'lib/spatio-sdk/models/api_error.rb', line 98 def valid? warn '[DEPRECATED] the `valid?` method is obsolete' return false if @error.nil? true end |