fuse_client 1.0.41 → 1.0.42

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/docs/FinancialConnectionData.md +1 -1
  4. data/docs/FinancialConnectionsAccountDetails.md +1 -1
  5. data/docs/FinancialConnectionsAccountDetailsAccountNumber.md +1 -1
  6. data/docs/FuseApi.md +6 -83
  7. data/docs/Transaction.md +1 -1
  8. data/lib/fuse_client/api/fuse_api.rb +10 -67
  9. data/lib/fuse_client/configuration.rb +32 -11
  10. data/lib/fuse_client/models/financial_connection_data.rb +1 -5
  11. data/lib/fuse_client/models/financial_connections_account.rb +1 -0
  12. data/lib/fuse_client/models/financial_connections_account_balance.rb +2 -0
  13. data/lib/fuse_client/models/financial_connections_account_cached_balance.rb +2 -0
  14. data/lib/fuse_client/models/financial_connections_account_details.rb +0 -5
  15. data/lib/fuse_client/models/financial_connections_account_details_account_number.rb +5 -0
  16. data/lib/fuse_client/models/financial_connections_account_liability.rb +1 -0
  17. data/lib/fuse_client/models/fuse_api_aggregator_error.rb +5 -0
  18. data/lib/fuse_client/models/transaction.rb +1 -1
  19. data/lib/fuse_client/version.rb +1 -1
  20. data/lib/fuse_client.rb +0 -20
  21. data/spec/api/fuse_api_spec.rb +1 -12
  22. metadata +2 -82
  23. data/docs/FinQLComparisonFeature.md +0 -26
  24. data/docs/FinQLFeature.md +0 -61
  25. data/docs/FinQLFeatureOneOf.md +0 -18
  26. data/docs/FinQLFeatureOneOf1.md +0 -18
  27. data/docs/FinQLFeatureOneOf2.md +0 -18
  28. data/docs/FinQLFeatureOneOf3.md +0 -18
  29. data/docs/FinQLFeatureOneOf4.md +0 -18
  30. data/docs/FinQLFeatureOneOf5.md +0 -18
  31. data/docs/FinQLFeatureOneOf6.md +0 -18
  32. data/docs/FinQLFeatureOneOf7.md +0 -18
  33. data/docs/FinQLFeatureRequest.md +0 -15
  34. data/docs/FinQLFrequencyFeature.md +0 -20
  35. data/docs/FinQLIndividualMerchantFeature.md +0 -20
  36. data/docs/FinQLInterestFeature.md +0 -18
  37. data/docs/FinQLMerchantCategoriesFeatureInner.md +0 -20
  38. data/docs/FinQLMerchantCategoriesFeatureInnerResultInner.md +0 -20
  39. data/docs/FinQLPromptRequest.md +0 -22
  40. data/docs/FinQLPromptResponse.md +0 -20
  41. data/docs/FinQLTimeBasedFeatureInner.md +0 -20
  42. data/docs/FinQLTopMerchantsFeatureInner.md +0 -22
  43. data/lib/fuse_client/models/fin_ql_comparison_feature.rb +0 -255
  44. data/lib/fuse_client/models/fin_ql_feature.rb +0 -111
  45. data/lib/fuse_client/models/fin_ql_feature_one_of.rb +0 -219
  46. data/lib/fuse_client/models/fin_ql_feature_one_of1.rb +0 -219
  47. data/lib/fuse_client/models/fin_ql_feature_one_of2.rb +0 -221
  48. data/lib/fuse_client/models/fin_ql_feature_one_of3.rb +0 -219
  49. data/lib/fuse_client/models/fin_ql_feature_one_of4.rb +0 -219
  50. data/lib/fuse_client/models/fin_ql_feature_one_of5.rb +0 -221
  51. data/lib/fuse_client/models/fin_ql_feature_one_of6.rb +0 -219
  52. data/lib/fuse_client/models/fin_ql_feature_one_of7.rb +0 -221
  53. data/lib/fuse_client/models/fin_ql_feature_request.rb +0 -46
  54. data/lib/fuse_client/models/fin_ql_frequency_feature.rb +0 -262
  55. data/lib/fuse_client/models/fin_ql_individual_merchant_feature.rb +0 -228
  56. data/lib/fuse_client/models/fin_ql_interest_feature.rb +0 -219
  57. data/lib/fuse_client/models/fin_ql_merchant_categories_feature_inner.rb +0 -230
  58. data/lib/fuse_client/models/fin_ql_merchant_categories_feature_inner_result_inner.rb +0 -228
  59. data/lib/fuse_client/models/fin_ql_prompt_request.rb +0 -276
  60. data/lib/fuse_client/models/fin_ql_prompt_response.rb +0 -234
  61. data/lib/fuse_client/models/fin_ql_time_based_feature_inner.rb +0 -228
  62. data/lib/fuse_client/models/fin_ql_top_merchants_feature_inner.rb +0 -237
  63. data/spec/models/fin_ql_comparison_feature_spec.rb +0 -58
  64. data/spec/models/fin_ql_feature_one_of1_spec.rb +0 -34
  65. data/spec/models/fin_ql_feature_one_of2_spec.rb +0 -34
  66. data/spec/models/fin_ql_feature_one_of3_spec.rb +0 -34
  67. data/spec/models/fin_ql_feature_one_of4_spec.rb +0 -34
  68. data/spec/models/fin_ql_feature_one_of5_spec.rb +0 -34
  69. data/spec/models/fin_ql_feature_one_of6_spec.rb +0 -34
  70. data/spec/models/fin_ql_feature_one_of7_spec.rb +0 -34
  71. data/spec/models/fin_ql_feature_one_of_spec.rb +0 -34
  72. data/spec/models/fin_ql_feature_request_spec.rb +0 -28
  73. data/spec/models/fin_ql_feature_spec.rb +0 -31
  74. data/spec/models/fin_ql_frequency_feature_spec.rb +0 -44
  75. data/spec/models/fin_ql_individual_merchant_feature_spec.rb +0 -40
  76. data/spec/models/fin_ql_interest_feature_spec.rb +0 -34
  77. data/spec/models/fin_ql_merchant_categories_feature_inner_result_inner_spec.rb +0 -40
  78. data/spec/models/fin_ql_merchant_categories_feature_inner_spec.rb +0 -40
  79. data/spec/models/fin_ql_prompt_request_spec.rb +0 -46
  80. data/spec/models/fin_ql_prompt_response_spec.rb +0 -40
  81. data/spec/models/fin_ql_time_based_feature_inner_spec.rb +0 -40
  82. data/spec/models/fin_ql_top_merchants_feature_inner_spec.rb +0 -46
@@ -1,234 +0,0 @@
1
- =begin
2
- #Fuse
3
-
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
-
6
- The version of the OpenAPI document: 1.0.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.6.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module FuseClient
17
- class FinQLPromptResponse
18
- attr_accessor :feature
19
-
20
- # An identifier that is exclusive to the request and can serve as a means for investigating and resolving issues.
21
- attr_accessor :request_id
22
-
23
- # Attribute mapping from ruby-style variable name to JSON key.
24
- def self.attribute_map
25
- {
26
- :'feature' => :'feature',
27
- :'request_id' => :'request_id'
28
- }
29
- end
30
-
31
- # Returns all the JSON keys this model knows about
32
- def self.acceptable_attributes
33
- attribute_map.values
34
- end
35
-
36
- # Attribute type mapping.
37
- def self.openapi_types
38
- {
39
- :'feature' => :'FinQLFeature',
40
- :'request_id' => :'String'
41
- }
42
- end
43
-
44
- # List of attributes with nullable: true
45
- def self.openapi_nullable
46
- Set.new([
47
- ])
48
- end
49
-
50
- # Initializes the object
51
- # @param [Hash] attributes Model attributes in the form of hash
52
- def initialize(attributes = {})
53
- if (!attributes.is_a?(Hash))
54
- fail ArgumentError, "The input argument (attributes) must be a hash in `FuseClient::FinQLPromptResponse` initialize method"
55
- end
56
-
57
- # check to see if the attribute exists and convert string to symbol for hash key
58
- attributes = attributes.each_with_object({}) { |(k, v), h|
59
- if (!self.class.attribute_map.key?(k.to_sym))
60
- fail ArgumentError, "`#{k}` is not a valid attribute in `FuseClient::FinQLPromptResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
- end
62
- h[k.to_sym] = v
63
- }
64
-
65
- if attributes.key?(:'feature')
66
- self.feature = attributes[:'feature']
67
- end
68
-
69
- if attributes.key?(:'request_id')
70
- self.request_id = attributes[:'request_id']
71
- end
72
- end
73
-
74
- # Show invalid properties with the reasons. Usually used together with valid?
75
- # @return Array for valid properties with the reasons
76
- def list_invalid_properties
77
- invalid_properties = Array.new
78
- if @request_id.nil?
79
- invalid_properties.push('invalid value for "request_id", request_id cannot be nil.')
80
- end
81
-
82
- invalid_properties
83
- end
84
-
85
- # Check to see if the all the properties in the model are valid
86
- # @return true if the model is valid
87
- def valid?
88
- return false if @request_id.nil?
89
- true
90
- end
91
-
92
- # Checks equality by comparing each attribute.
93
- # @param [Object] Object to be compared
94
- def ==(o)
95
- return true if self.equal?(o)
96
- self.class == o.class &&
97
- feature == o.feature &&
98
- request_id == o.request_id
99
- end
100
-
101
- # @see the `==` method
102
- # @param [Object] Object to be compared
103
- def eql?(o)
104
- self == o
105
- end
106
-
107
- # Calculates hash code according to all attributes.
108
- # @return [Integer] Hash code
109
- def hash
110
- [feature, request_id].hash
111
- end
112
-
113
- # Builds the object from hash
114
- # @param [Hash] attributes Model attributes in the form of hash
115
- # @return [Object] Returns the model itself
116
- def self.build_from_hash(attributes)
117
- new.build_from_hash(attributes)
118
- end
119
-
120
- # Builds the object from hash
121
- # @param [Hash] attributes Model attributes in the form of hash
122
- # @return [Object] Returns the model itself
123
- def build_from_hash(attributes)
124
- return nil unless attributes.is_a?(Hash)
125
- attributes = attributes.transform_keys(&:to_sym)
126
- self.class.openapi_types.each_pair do |key, type|
127
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
128
- self.send("#{key}=", nil)
129
- elsif type =~ /\AArray<(.*)>/i
130
- # check to ensure the input is an array given that the attribute
131
- # is documented as an array but the input is not
132
- if attributes[self.class.attribute_map[key]].is_a?(Array)
133
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
134
- end
135
- elsif !attributes[self.class.attribute_map[key]].nil?
136
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
137
- end
138
- end
139
-
140
- self
141
- end
142
-
143
- # Deserializes the data based on type
144
- # @param string type Data type
145
- # @param string value Value to be deserialized
146
- # @return [Object] Deserialized data
147
- def _deserialize(type, value)
148
- case type.to_sym
149
- when :Time
150
- Time.parse(value)
151
- when :Date
152
- Date.parse(value)
153
- when :String
154
- value.to_s
155
- when :Integer
156
- value.to_i
157
- when :Float
158
- value.to_f
159
- when :Boolean
160
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
161
- true
162
- else
163
- false
164
- end
165
- when :Object
166
- # generic object (usually a Hash), return directly
167
- value
168
- when /\AArray<(?<inner_type>.+)>\z/
169
- inner_type = Regexp.last_match[:inner_type]
170
- value.map { |v| _deserialize(inner_type, v) }
171
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
172
- k_type = Regexp.last_match[:k_type]
173
- v_type = Regexp.last_match[:v_type]
174
- {}.tap do |hash|
175
- value.each do |k, v|
176
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
177
- end
178
- end
179
- else # model
180
- # models (e.g. Pet) or oneOf
181
- klass = FuseClient.const_get(type)
182
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
183
- end
184
- end
185
-
186
- # Returns the string representation of the object
187
- # @return [String] String presentation of the object
188
- def to_s
189
- to_hash.to_s
190
- end
191
-
192
- # to_body is an alias to to_hash (backward compatibility)
193
- # @return [Hash] Returns the object in the form of hash
194
- def to_body
195
- to_hash
196
- end
197
-
198
- # Returns the object in the form of hash
199
- # @return [Hash] Returns the object in the form of hash
200
- def to_hash
201
- hash = {}
202
- self.class.attribute_map.each_pair do |attr, param|
203
- value = self.send(attr)
204
- if value.nil?
205
- is_nullable = self.class.openapi_nullable.include?(attr)
206
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
207
- end
208
-
209
- hash[param] = _to_hash(value)
210
- end
211
- hash
212
- end
213
-
214
- # Outputs non-array value in the form of hash
215
- # For object, use to_hash. Otherwise, just return the value
216
- # @param [Object] value Any valid value
217
- # @return [Hash] Returns the value in the form of hash
218
- def _to_hash(value)
219
- if value.is_a?(Array)
220
- value.compact.map { |v| _to_hash(v) }
221
- elsif value.is_a?(Hash)
222
- {}.tap do |hash|
223
- value.each { |k, v| hash[k] = _to_hash(v) }
224
- end
225
- elsif value.respond_to? :to_hash
226
- value.to_hash
227
- else
228
- value
229
- end
230
- end
231
-
232
- end
233
-
234
- end
@@ -1,228 +0,0 @@
1
- =begin
2
- #Fuse
3
-
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
-
6
- The version of the OpenAPI document: 1.0.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.6.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module FuseClient
17
- class FinQLTimeBasedFeatureInner
18
- attr_accessor :time_period
19
-
20
- attr_accessor :value
21
-
22
- # Attribute mapping from ruby-style variable name to JSON key.
23
- def self.attribute_map
24
- {
25
- :'time_period' => :'time_period',
26
- :'value' => :'value'
27
- }
28
- end
29
-
30
- # Returns all the JSON keys this model knows about
31
- def self.acceptable_attributes
32
- attribute_map.values
33
- end
34
-
35
- # Attribute type mapping.
36
- def self.openapi_types
37
- {
38
- :'time_period' => :'String',
39
- :'value' => :'Float'
40
- }
41
- end
42
-
43
- # List of attributes with nullable: true
44
- def self.openapi_nullable
45
- Set.new([
46
- ])
47
- end
48
-
49
- # Initializes the object
50
- # @param [Hash] attributes Model attributes in the form of hash
51
- def initialize(attributes = {})
52
- if (!attributes.is_a?(Hash))
53
- fail ArgumentError, "The input argument (attributes) must be a hash in `FuseClient::FinQLTimeBasedFeatureInner` initialize method"
54
- end
55
-
56
- # check to see if the attribute exists and convert string to symbol for hash key
57
- attributes = attributes.each_with_object({}) { |(k, v), h|
58
- if (!self.class.attribute_map.key?(k.to_sym))
59
- fail ArgumentError, "`#{k}` is not a valid attribute in `FuseClient::FinQLTimeBasedFeatureInner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
- end
61
- h[k.to_sym] = v
62
- }
63
-
64
- if attributes.key?(:'time_period')
65
- self.time_period = attributes[:'time_period']
66
- end
67
-
68
- if attributes.key?(:'value')
69
- self.value = attributes[:'value']
70
- end
71
- end
72
-
73
- # Show invalid properties with the reasons. Usually used together with valid?
74
- # @return Array for valid properties with the reasons
75
- def list_invalid_properties
76
- invalid_properties = Array.new
77
- invalid_properties
78
- end
79
-
80
- # Check to see if the all the properties in the model are valid
81
- # @return true if the model is valid
82
- def valid?
83
- true
84
- end
85
-
86
- # Checks equality by comparing each attribute.
87
- # @param [Object] Object to be compared
88
- def ==(o)
89
- return true if self.equal?(o)
90
- self.class == o.class &&
91
- time_period == o.time_period &&
92
- value == o.value
93
- end
94
-
95
- # @see the `==` method
96
- # @param [Object] Object to be compared
97
- def eql?(o)
98
- self == o
99
- end
100
-
101
- # Calculates hash code according to all attributes.
102
- # @return [Integer] Hash code
103
- def hash
104
- [time_period, value].hash
105
- end
106
-
107
- # Builds the object from hash
108
- # @param [Hash] attributes Model attributes in the form of hash
109
- # @return [Object] Returns the model itself
110
- def self.build_from_hash(attributes)
111
- new.build_from_hash(attributes)
112
- end
113
-
114
- # Builds the object from hash
115
- # @param [Hash] attributes Model attributes in the form of hash
116
- # @return [Object] Returns the model itself
117
- def build_from_hash(attributes)
118
- return nil unless attributes.is_a?(Hash)
119
- attributes = attributes.transform_keys(&:to_sym)
120
- self.class.openapi_types.each_pair do |key, type|
121
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
122
- self.send("#{key}=", nil)
123
- elsif type =~ /\AArray<(.*)>/i
124
- # check to ensure the input is an array given that the attribute
125
- # is documented as an array but the input is not
126
- if attributes[self.class.attribute_map[key]].is_a?(Array)
127
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
128
- end
129
- elsif !attributes[self.class.attribute_map[key]].nil?
130
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
131
- end
132
- end
133
-
134
- self
135
- end
136
-
137
- # Deserializes the data based on type
138
- # @param string type Data type
139
- # @param string value Value to be deserialized
140
- # @return [Object] Deserialized data
141
- def _deserialize(type, value)
142
- case type.to_sym
143
- when :Time
144
- Time.parse(value)
145
- when :Date
146
- Date.parse(value)
147
- when :String
148
- value.to_s
149
- when :Integer
150
- value.to_i
151
- when :Float
152
- value.to_f
153
- when :Boolean
154
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
155
- true
156
- else
157
- false
158
- end
159
- when :Object
160
- # generic object (usually a Hash), return directly
161
- value
162
- when /\AArray<(?<inner_type>.+)>\z/
163
- inner_type = Regexp.last_match[:inner_type]
164
- value.map { |v| _deserialize(inner_type, v) }
165
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
166
- k_type = Regexp.last_match[:k_type]
167
- v_type = Regexp.last_match[:v_type]
168
- {}.tap do |hash|
169
- value.each do |k, v|
170
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
171
- end
172
- end
173
- else # model
174
- # models (e.g. Pet) or oneOf
175
- klass = FuseClient.const_get(type)
176
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
177
- end
178
- end
179
-
180
- # Returns the string representation of the object
181
- # @return [String] String presentation of the object
182
- def to_s
183
- to_hash.to_s
184
- end
185
-
186
- # to_body is an alias to to_hash (backward compatibility)
187
- # @return [Hash] Returns the object in the form of hash
188
- def to_body
189
- to_hash
190
- end
191
-
192
- # Returns the object in the form of hash
193
- # @return [Hash] Returns the object in the form of hash
194
- def to_hash
195
- hash = {}
196
- self.class.attribute_map.each_pair do |attr, param|
197
- value = self.send(attr)
198
- if value.nil?
199
- is_nullable = self.class.openapi_nullable.include?(attr)
200
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
201
- end
202
-
203
- hash[param] = _to_hash(value)
204
- end
205
- hash
206
- end
207
-
208
- # Outputs non-array value in the form of hash
209
- # For object, use to_hash. Otherwise, just return the value
210
- # @param [Object] value Any valid value
211
- # @return [Hash] Returns the value in the form of hash
212
- def _to_hash(value)
213
- if value.is_a?(Array)
214
- value.compact.map { |v| _to_hash(v) }
215
- elsif value.is_a?(Hash)
216
- {}.tap do |hash|
217
- value.each { |k, v| hash[k] = _to_hash(v) }
218
- end
219
- elsif value.respond_to? :to_hash
220
- value.to_hash
221
- else
222
- value
223
- end
224
- end
225
-
226
- end
227
-
228
- end
@@ -1,237 +0,0 @@
1
- =begin
2
- #Fuse
3
-
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
-
6
- The version of the OpenAPI document: 1.0.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.6.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module FuseClient
17
- class FinQLTopMerchantsFeatureInner
18
- attr_accessor :rank
19
-
20
- attr_accessor :merchant
21
-
22
- attr_accessor :value
23
-
24
- # Attribute mapping from ruby-style variable name to JSON key.
25
- def self.attribute_map
26
- {
27
- :'rank' => :'rank',
28
- :'merchant' => :'merchant',
29
- :'value' => :'value'
30
- }
31
- end
32
-
33
- # Returns all the JSON keys this model knows about
34
- def self.acceptable_attributes
35
- attribute_map.values
36
- end
37
-
38
- # Attribute type mapping.
39
- def self.openapi_types
40
- {
41
- :'rank' => :'Float',
42
- :'merchant' => :'Merchant',
43
- :'value' => :'String'
44
- }
45
- end
46
-
47
- # List of attributes with nullable: true
48
- def self.openapi_nullable
49
- Set.new([
50
- ])
51
- end
52
-
53
- # Initializes the object
54
- # @param [Hash] attributes Model attributes in the form of hash
55
- def initialize(attributes = {})
56
- if (!attributes.is_a?(Hash))
57
- fail ArgumentError, "The input argument (attributes) must be a hash in `FuseClient::FinQLTopMerchantsFeatureInner` initialize method"
58
- end
59
-
60
- # check to see if the attribute exists and convert string to symbol for hash key
61
- attributes = attributes.each_with_object({}) { |(k, v), h|
62
- if (!self.class.attribute_map.key?(k.to_sym))
63
- fail ArgumentError, "`#{k}` is not a valid attribute in `FuseClient::FinQLTopMerchantsFeatureInner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
- end
65
- h[k.to_sym] = v
66
- }
67
-
68
- if attributes.key?(:'rank')
69
- self.rank = attributes[:'rank']
70
- end
71
-
72
- if attributes.key?(:'merchant')
73
- self.merchant = attributes[:'merchant']
74
- end
75
-
76
- if attributes.key?(:'value')
77
- self.value = attributes[:'value']
78
- end
79
- end
80
-
81
- # Show invalid properties with the reasons. Usually used together with valid?
82
- # @return Array for valid properties with the reasons
83
- def list_invalid_properties
84
- invalid_properties = Array.new
85
- invalid_properties
86
- end
87
-
88
- # Check to see if the all the properties in the model are valid
89
- # @return true if the model is valid
90
- def valid?
91
- true
92
- end
93
-
94
- # Checks equality by comparing each attribute.
95
- # @param [Object] Object to be compared
96
- def ==(o)
97
- return true if self.equal?(o)
98
- self.class == o.class &&
99
- rank == o.rank &&
100
- merchant == o.merchant &&
101
- value == o.value
102
- end
103
-
104
- # @see the `==` method
105
- # @param [Object] Object to be compared
106
- def eql?(o)
107
- self == o
108
- end
109
-
110
- # Calculates hash code according to all attributes.
111
- # @return [Integer] Hash code
112
- def hash
113
- [rank, merchant, value].hash
114
- end
115
-
116
- # Builds the object from hash
117
- # @param [Hash] attributes Model attributes in the form of hash
118
- # @return [Object] Returns the model itself
119
- def self.build_from_hash(attributes)
120
- new.build_from_hash(attributes)
121
- end
122
-
123
- # Builds the object from hash
124
- # @param [Hash] attributes Model attributes in the form of hash
125
- # @return [Object] Returns the model itself
126
- def build_from_hash(attributes)
127
- return nil unless attributes.is_a?(Hash)
128
- attributes = attributes.transform_keys(&:to_sym)
129
- self.class.openapi_types.each_pair do |key, type|
130
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
131
- self.send("#{key}=", nil)
132
- elsif type =~ /\AArray<(.*)>/i
133
- # check to ensure the input is an array given that the attribute
134
- # is documented as an array but the input is not
135
- if attributes[self.class.attribute_map[key]].is_a?(Array)
136
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
137
- end
138
- elsif !attributes[self.class.attribute_map[key]].nil?
139
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
140
- end
141
- end
142
-
143
- self
144
- end
145
-
146
- # Deserializes the data based on type
147
- # @param string type Data type
148
- # @param string value Value to be deserialized
149
- # @return [Object] Deserialized data
150
- def _deserialize(type, value)
151
- case type.to_sym
152
- when :Time
153
- Time.parse(value)
154
- when :Date
155
- Date.parse(value)
156
- when :String
157
- value.to_s
158
- when :Integer
159
- value.to_i
160
- when :Float
161
- value.to_f
162
- when :Boolean
163
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
164
- true
165
- else
166
- false
167
- end
168
- when :Object
169
- # generic object (usually a Hash), return directly
170
- value
171
- when /\AArray<(?<inner_type>.+)>\z/
172
- inner_type = Regexp.last_match[:inner_type]
173
- value.map { |v| _deserialize(inner_type, v) }
174
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
175
- k_type = Regexp.last_match[:k_type]
176
- v_type = Regexp.last_match[:v_type]
177
- {}.tap do |hash|
178
- value.each do |k, v|
179
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
180
- end
181
- end
182
- else # model
183
- # models (e.g. Pet) or oneOf
184
- klass = FuseClient.const_get(type)
185
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
186
- end
187
- end
188
-
189
- # Returns the string representation of the object
190
- # @return [String] String presentation of the object
191
- def to_s
192
- to_hash.to_s
193
- end
194
-
195
- # to_body is an alias to to_hash (backward compatibility)
196
- # @return [Hash] Returns the object in the form of hash
197
- def to_body
198
- to_hash
199
- end
200
-
201
- # Returns the object in the form of hash
202
- # @return [Hash] Returns the object in the form of hash
203
- def to_hash
204
- hash = {}
205
- self.class.attribute_map.each_pair do |attr, param|
206
- value = self.send(attr)
207
- if value.nil?
208
- is_nullable = self.class.openapi_nullable.include?(attr)
209
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
210
- end
211
-
212
- hash[param] = _to_hash(value)
213
- end
214
- hash
215
- end
216
-
217
- # Outputs non-array value in the form of hash
218
- # For object, use to_hash. Otherwise, just return the value
219
- # @param [Object] value Any valid value
220
- # @return [Hash] Returns the value in the form of hash
221
- def _to_hash(value)
222
- if value.is_a?(Array)
223
- value.compact.map { |v| _to_hash(v) }
224
- elsif value.is_a?(Hash)
225
- {}.tap do |hash|
226
- value.each { |k, v| hash[k] = _to_hash(v) }
227
- end
228
- elsif value.respond_to? :to_hash
229
- value.to_hash
230
- else
231
- value
232
- end
233
- end
234
-
235
- end
236
-
237
- end