fuse_client 1.0.40 → 1.0.42

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