trinsic_api 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +137 -0
  4. data/Rakefile +10 -0
  5. data/docs/Address.md +32 -0
  6. data/docs/Attachments.md +24 -0
  7. data/docs/AttachmentsApi.md +76 -0
  8. data/docs/CancelSessionResponse.md +18 -0
  9. data/docs/CreateSessionRequest.md +22 -0
  10. data/docs/CreateSessionResponse.md +20 -0
  11. data/docs/DisclosedFields.md +40 -0
  12. data/docs/DisclosedFieldsRequest.md +40 -0
  13. data/docs/DocumentData.md +28 -0
  14. data/docs/ExchangeAttachmentAccessKeyRequest.md +18 -0
  15. data/docs/ExchangeResultsKeyRequest.md +18 -0
  16. data/docs/ExchangeResultsKeyResponse.md +20 -0
  17. data/docs/FailureMessage.md +18 -0
  18. data/docs/GetSessionResponse.md +18 -0
  19. data/docs/IdentityData.md +24 -0
  20. data/docs/IdentityLookupResponse.md +18 -0
  21. data/docs/ListProvidersResponse.md +18 -0
  22. data/docs/ListSessionsResponse.md +22 -0
  23. data/docs/NetworkApi.md +140 -0
  24. data/docs/OrderDirection.md +15 -0
  25. data/docs/PersonData.md +34 -0
  26. data/docs/ProviderInfo.md +22 -0
  27. data/docs/Session.md +30 -0
  28. data/docs/SessionFailCode.md +15 -0
  29. data/docs/SessionOrdering.md +15 -0
  30. data/docs/SessionState.md +15 -0
  31. data/docs/SessionsApi.md +428 -0
  32. data/docs/ValidationResult.md +20 -0
  33. data/docs/Verification.md +20 -0
  34. data/docs/VerificationFailCode.md +15 -0
  35. data/git_push.sh +57 -0
  36. data/lib/trinsic_api/api/attachments_api.rb +84 -0
  37. data/lib/trinsic_api/api/network_api.rb +138 -0
  38. data/lib/trinsic_api/api/sessions_api.rb +418 -0
  39. data/lib/trinsic_api/api_client.rb +394 -0
  40. data/lib/trinsic_api/api_error.rb +58 -0
  41. data/lib/trinsic_api/configuration.rb +308 -0
  42. data/lib/trinsic_api/models/address.rb +279 -0
  43. data/lib/trinsic_api/models/attachments.rb +246 -0
  44. data/lib/trinsic_api/models/cancel_session_response.rb +221 -0
  45. data/lib/trinsic_api/models/create_session_request.rb +237 -0
  46. data/lib/trinsic_api/models/create_session_response.rb +232 -0
  47. data/lib/trinsic_api/models/disclosed_fields.rb +397 -0
  48. data/lib/trinsic_api/models/disclosed_fields_request.rb +313 -0
  49. data/lib/trinsic_api/models/document_data.rb +259 -0
  50. data/lib/trinsic_api/models/exchange_attachment_access_key_request.rb +241 -0
  51. data/lib/trinsic_api/models/exchange_results_key_request.rb +222 -0
  52. data/lib/trinsic_api/models/exchange_results_key_response.rb +230 -0
  53. data/lib/trinsic_api/models/failure_message.rb +221 -0
  54. data/lib/trinsic_api/models/get_session_response.rb +221 -0
  55. data/lib/trinsic_api/models/identity_data.rb +245 -0
  56. data/lib/trinsic_api/models/identity_lookup_response.rb +222 -0
  57. data/lib/trinsic_api/models/list_providers_response.rb +224 -0
  58. data/lib/trinsic_api/models/list_sessions_response.rb +257 -0
  59. data/lib/trinsic_api/models/order_direction.rb +40 -0
  60. data/lib/trinsic_api/models/person_data.rb +292 -0
  61. data/lib/trinsic_api/models/provider_info.rb +257 -0
  62. data/lib/trinsic_api/models/session.rb +338 -0
  63. data/lib/trinsic_api/models/session_fail_code.rb +45 -0
  64. data/lib/trinsic_api/models/session_ordering.rb +41 -0
  65. data/lib/trinsic_api/models/session_state.rb +44 -0
  66. data/lib/trinsic_api/models/validation_result.rb +232 -0
  67. data/lib/trinsic_api/models/verification.rb +248 -0
  68. data/lib/trinsic_api/models/verification_fail_code.rb +43 -0
  69. data/lib/trinsic_api/version.rb +15 -0
  70. data/lib/trinsic_api.rb +69 -0
  71. data/spec/api/attachments_api_spec.rb +46 -0
  72. data/spec/api/network_api_spec.rb +56 -0
  73. data/spec/api/sessions_api_spec.rb +105 -0
  74. data/spec/models/address_spec.rb +78 -0
  75. data/spec/models/attachments_spec.rb +54 -0
  76. data/spec/models/cancel_session_response_spec.rb +36 -0
  77. data/spec/models/create_session_request_spec.rb +48 -0
  78. data/spec/models/create_session_response_spec.rb +42 -0
  79. data/spec/models/disclosed_fields_request_spec.rb +102 -0
  80. data/spec/models/disclosed_fields_spec.rb +102 -0
  81. data/spec/models/document_data_spec.rb +66 -0
  82. data/spec/models/exchange_attachment_access_key_request_spec.rb +36 -0
  83. data/spec/models/exchange_results_key_request_spec.rb +36 -0
  84. data/spec/models/exchange_results_key_response_spec.rb +42 -0
  85. data/spec/models/failure_message_spec.rb +36 -0
  86. data/spec/models/get_session_response_spec.rb +36 -0
  87. data/spec/models/identity_data_spec.rb +54 -0
  88. data/spec/models/identity_lookup_response_spec.rb +36 -0
  89. data/spec/models/list_providers_response_spec.rb +36 -0
  90. data/spec/models/list_sessions_response_spec.rb +48 -0
  91. data/spec/models/order_direction_spec.rb +30 -0
  92. data/spec/models/person_data_spec.rb +84 -0
  93. data/spec/models/provider_info_spec.rb +48 -0
  94. data/spec/models/session_fail_code_spec.rb +30 -0
  95. data/spec/models/session_ordering_spec.rb +30 -0
  96. data/spec/models/session_spec.rb +72 -0
  97. data/spec/models/session_state_spec.rb +30 -0
  98. data/spec/models/validation_result_spec.rb +42 -0
  99. data/spec/models/verification_fail_code_spec.rb +30 -0
  100. data/spec/models/verification_spec.rb +42 -0
  101. data/spec/spec_helper.rb +111 -0
  102. data/trinsic_api.gemspec +39 -0
  103. metadata +215 -0
@@ -0,0 +1,246 @@
1
+ =begin
2
+ #Connect API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.7.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrinsicApi
17
+ # Attachment Access Keys for attachments (eg document / selfie images)
18
+ class Attachments
19
+ # Key to access the selfie image (if relevant) for this verification
20
+ attr_accessor :selfie
21
+
22
+ # Key to access the document front image (if relevant) for this verification
23
+ attr_accessor :document_front
24
+
25
+ # Key to access the document back image (if relevant) for this verification
26
+ attr_accessor :document_back
27
+
28
+ # Key to access the document portrait image (if relevant and available) for this verification. Specifically, this is a cropped version of the document front image which includes only the portrait on the document.
29
+ attr_accessor :document_portrait
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'selfie' => :'selfie',
35
+ :'document_front' => :'documentFront',
36
+ :'document_back' => :'documentBack',
37
+ :'document_portrait' => :'documentPortrait'
38
+ }
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'selfie' => :'String',
50
+ :'document_front' => :'String',
51
+ :'document_back' => :'String',
52
+ :'document_portrait' => :'String'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::Attachments` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!self.class.attribute_map.key?(k.to_sym))
72
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::Attachments`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
73
+ end
74
+ h[k.to_sym] = v
75
+ }
76
+
77
+ if attributes.key?(:'selfie')
78
+ self.selfie = attributes[:'selfie']
79
+ end
80
+
81
+ if attributes.key?(:'document_front')
82
+ self.document_front = attributes[:'document_front']
83
+ end
84
+
85
+ if attributes.key?(:'document_back')
86
+ self.document_back = attributes[:'document_back']
87
+ end
88
+
89
+ if attributes.key?(:'document_portrait')
90
+ self.document_portrait = attributes[:'document_portrait']
91
+ end
92
+ end
93
+
94
+ # Show invalid properties with the reasons. Usually used together with valid?
95
+ # @return Array for valid properties with the reasons
96
+ def list_invalid_properties
97
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
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
+ warn '[DEPRECATED] the `valid?` method is obsolete'
106
+ true
107
+ end
108
+
109
+ # Checks equality by comparing each attribute.
110
+ # @param [Object] Object to be compared
111
+ def ==(o)
112
+ return true if self.equal?(o)
113
+ self.class == o.class &&
114
+ selfie == o.selfie &&
115
+ document_front == o.document_front &&
116
+ document_back == o.document_back &&
117
+ document_portrait == o.document_portrait
118
+ end
119
+
120
+ # @see the `==` method
121
+ # @param [Object] Object to be compared
122
+ def eql?(o)
123
+ self == o
124
+ end
125
+
126
+ # Calculates hash code according to all attributes.
127
+ # @return [Integer] Hash code
128
+ def hash
129
+ [selfie, document_front, document_back, document_portrait].hash
130
+ end
131
+
132
+ # Builds the object from hash
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ # @return [Object] Returns the model itself
135
+ def self.build_from_hash(attributes)
136
+ return nil unless attributes.is_a?(Hash)
137
+ attributes = attributes.transform_keys(&:to_sym)
138
+ transformed_hash = {}
139
+ openapi_types.each_pair do |key, type|
140
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
141
+ transformed_hash["#{key}"] = nil
142
+ elsif type =~ /\AArray<(.*)>/i
143
+ # check to ensure the input is an array given that the attribute
144
+ # is documented as an array but the input is not
145
+ if attributes[attribute_map[key]].is_a?(Array)
146
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
147
+ end
148
+ elsif !attributes[attribute_map[key]].nil?
149
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
150
+ end
151
+ end
152
+ new(transformed_hash)
153
+ end
154
+
155
+ # Deserializes the data based on type
156
+ # @param string type Data type
157
+ # @param string value Value to be deserialized
158
+ # @return [Object] Deserialized data
159
+ def self._deserialize(type, value)
160
+ case type.to_sym
161
+ when :Time
162
+ Time.parse(value)
163
+ when :Date
164
+ Date.parse(value)
165
+ when :String
166
+ value.to_s
167
+ when :Integer
168
+ value.to_i
169
+ when :Float
170
+ value.to_f
171
+ when :Boolean
172
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
173
+ true
174
+ else
175
+ false
176
+ end
177
+ when :Object
178
+ # generic object (usually a Hash), return directly
179
+ value
180
+ when /\AArray<(?<inner_type>.+)>\z/
181
+ inner_type = Regexp.last_match[:inner_type]
182
+ value.map { |v| _deserialize(inner_type, v) }
183
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
184
+ k_type = Regexp.last_match[:k_type]
185
+ v_type = Regexp.last_match[:v_type]
186
+ {}.tap do |hash|
187
+ value.each do |k, v|
188
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
189
+ end
190
+ end
191
+ else # model
192
+ # models (e.g. Pet) or oneOf
193
+ klass = TrinsicApi.const_get(type)
194
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
195
+ end
196
+ end
197
+
198
+ # Returns the string representation of the object
199
+ # @return [String] String presentation of the object
200
+ def to_s
201
+ to_hash.to_s
202
+ end
203
+
204
+ # to_body is an alias to to_hash (backward compatibility)
205
+ # @return [Hash] Returns the object in the form of hash
206
+ def to_body
207
+ to_hash
208
+ end
209
+
210
+ # Returns the object in the form of hash
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_hash
213
+ hash = {}
214
+ self.class.attribute_map.each_pair do |attr, param|
215
+ value = self.send(attr)
216
+ if value.nil?
217
+ is_nullable = self.class.openapi_nullable.include?(attr)
218
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
219
+ end
220
+
221
+ hash[param] = _to_hash(value)
222
+ end
223
+ hash
224
+ end
225
+
226
+ # Outputs non-array value in the form of hash
227
+ # For object, use to_hash. Otherwise, just return the value
228
+ # @param [Object] value Any valid value
229
+ # @return [Hash] Returns the value in the form of hash
230
+ def _to_hash(value)
231
+ if value.is_a?(Array)
232
+ value.compact.map { |v| _to_hash(v) }
233
+ elsif value.is_a?(Hash)
234
+ {}.tap do |hash|
235
+ value.each { |k, v| hash[k] = _to_hash(v) }
236
+ end
237
+ elsif value.respond_to? :to_hash
238
+ value.to_hash
239
+ else
240
+ value
241
+ end
242
+ end
243
+
244
+ end
245
+
246
+ end
@@ -0,0 +1,221 @@
1
+ =begin
2
+ #Connect API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.7.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrinsicApi
17
+ class CancelSessionResponse
18
+ attr_accessor :session
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'session' => :'session'
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
+ :'session' => :'Session'
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 `TrinsicApi::CancelSessionResponse` 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 `TrinsicApi::CancelSessionResponse`. 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?(:'session')
61
+ self.session = attributes[:'session']
62
+ else
63
+ self.session = nil
64
+ end
65
+ end
66
+
67
+ # Show invalid properties with the reasons. Usually used together with valid?
68
+ # @return Array for valid properties with the reasons
69
+ def list_invalid_properties
70
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
71
+ invalid_properties = Array.new
72
+ if @session.nil?
73
+ invalid_properties.push('invalid value for "session", session cannot be nil.')
74
+ end
75
+
76
+ invalid_properties
77
+ end
78
+
79
+ # Check to see if the all the properties in the model are valid
80
+ # @return true if the model is valid
81
+ def valid?
82
+ warn '[DEPRECATED] the `valid?` method is obsolete'
83
+ return false if @session.nil?
84
+ true
85
+ end
86
+
87
+ # Checks equality by comparing each attribute.
88
+ # @param [Object] Object to be compared
89
+ def ==(o)
90
+ return true if self.equal?(o)
91
+ self.class == o.class &&
92
+ session == o.session
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
+ [session].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
+ return nil unless attributes.is_a?(Hash)
112
+ attributes = attributes.transform_keys(&:to_sym)
113
+ transformed_hash = {}
114
+ openapi_types.each_pair do |key, type|
115
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
116
+ transformed_hash["#{key}"] = nil
117
+ elsif type =~ /\AArray<(.*)>/i
118
+ # check to ensure the input is an array given that the attribute
119
+ # is documented as an array but the input is not
120
+ if attributes[attribute_map[key]].is_a?(Array)
121
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
122
+ end
123
+ elsif !attributes[attribute_map[key]].nil?
124
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
125
+ end
126
+ end
127
+ new(transformed_hash)
128
+ end
129
+
130
+ # Deserializes the data based on type
131
+ # @param string type Data type
132
+ # @param string value Value to be deserialized
133
+ # @return [Object] Deserialized data
134
+ def self._deserialize(type, value)
135
+ case type.to_sym
136
+ when :Time
137
+ Time.parse(value)
138
+ when :Date
139
+ Date.parse(value)
140
+ when :String
141
+ value.to_s
142
+ when :Integer
143
+ value.to_i
144
+ when :Float
145
+ value.to_f
146
+ when :Boolean
147
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
148
+ true
149
+ else
150
+ false
151
+ end
152
+ when :Object
153
+ # generic object (usually a Hash), return directly
154
+ value
155
+ when /\AArray<(?<inner_type>.+)>\z/
156
+ inner_type = Regexp.last_match[:inner_type]
157
+ value.map { |v| _deserialize(inner_type, v) }
158
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
159
+ k_type = Regexp.last_match[:k_type]
160
+ v_type = Regexp.last_match[:v_type]
161
+ {}.tap do |hash|
162
+ value.each do |k, v|
163
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
164
+ end
165
+ end
166
+ else # model
167
+ # models (e.g. Pet) or oneOf
168
+ klass = TrinsicApi.const_get(type)
169
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
170
+ end
171
+ end
172
+
173
+ # Returns the string representation of the object
174
+ # @return [String] String presentation of the object
175
+ def to_s
176
+ to_hash.to_s
177
+ end
178
+
179
+ # to_body is an alias to to_hash (backward compatibility)
180
+ # @return [Hash] Returns the object in the form of hash
181
+ def to_body
182
+ to_hash
183
+ end
184
+
185
+ # Returns the object in the form of hash
186
+ # @return [Hash] Returns the object in the form of hash
187
+ def to_hash
188
+ hash = {}
189
+ self.class.attribute_map.each_pair do |attr, param|
190
+ value = self.send(attr)
191
+ if value.nil?
192
+ is_nullable = self.class.openapi_nullable.include?(attr)
193
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
194
+ end
195
+
196
+ hash[param] = _to_hash(value)
197
+ end
198
+ hash
199
+ end
200
+
201
+ # Outputs non-array value in the form of hash
202
+ # For object, use to_hash. Otherwise, just return the value
203
+ # @param [Object] value Any valid value
204
+ # @return [Hash] Returns the value in the form of hash
205
+ def _to_hash(value)
206
+ if value.is_a?(Array)
207
+ value.compact.map { |v| _to_hash(v) }
208
+ elsif value.is_a?(Hash)
209
+ {}.tap do |hash|
210
+ value.each { |k, v| hash[k] = _to_hash(v) }
211
+ end
212
+ elsif value.respond_to? :to_hash
213
+ value.to_hash
214
+ else
215
+ value
216
+ end
217
+ end
218
+
219
+ end
220
+
221
+ end
@@ -0,0 +1,237 @@
1
+ =begin
2
+ #Connect API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.7.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrinsicApi
17
+ class CreateSessionRequest
18
+ # Whether to immediately launch the identity provider, without invoking the Trinsic Connect Widget UI. Users will not be shown the Connect Widget; therefore, reuse of Connect credentials, selection of an identity provider, and saving a verification for future reuse are not available to the end user in this mode. Sessions created with this option enabled must be created with a `RedirectUrl` specified, and cannot be invoked using the frontend SDK at this time.
19
+ attr_accessor :launch_method_directly
20
+
21
+ # The list of allowed identity providers. If not specified, all available providers will be allowed. If `LaunchMethodDirectly` is `true`, this field must be set, and must have only a single entry. If `LaunchMethodDirectly` is not specified or is `false`, this field may have any number of entries.
22
+ attr_accessor :providers
23
+
24
+ # Specific identity attributes to request. If not provided, all available attributes will be requested.
25
+ attr_accessor :disclosed_fields
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'launch_method_directly' => :'launchMethodDirectly',
31
+ :'providers' => :'providers',
32
+ :'disclosed_fields' => :'disclosedFields'
33
+ }
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'launch_method_directly' => :'Boolean',
45
+ :'providers' => :'Array<String>',
46
+ :'disclosed_fields' => :'DisclosedFieldsRequest'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.openapi_nullable
52
+ Set.new([
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::CreateSessionRequest` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ attributes = attributes.each_with_object({}) { |(k, v), h|
65
+ if (!self.class.attribute_map.key?(k.to_sym))
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::CreateSessionRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
67
+ end
68
+ h[k.to_sym] = v
69
+ }
70
+
71
+ if attributes.key?(:'launch_method_directly')
72
+ self.launch_method_directly = attributes[:'launch_method_directly']
73
+ end
74
+
75
+ if attributes.key?(:'providers')
76
+ if (value = attributes[:'providers']).is_a?(Array)
77
+ self.providers = value
78
+ end
79
+ end
80
+
81
+ if attributes.key?(:'disclosed_fields')
82
+ self.disclosed_fields = attributes[:'disclosed_fields']
83
+ end
84
+ end
85
+
86
+ # Show invalid properties with the reasons. Usually used together with valid?
87
+ # @return Array for valid properties with the reasons
88
+ def list_invalid_properties
89
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
90
+ invalid_properties = Array.new
91
+ invalid_properties
92
+ end
93
+
94
+ # Check to see if the all the properties in the model are valid
95
+ # @return true if the model is valid
96
+ def valid?
97
+ warn '[DEPRECATED] the `valid?` method is obsolete'
98
+ true
99
+ end
100
+
101
+ # Checks equality by comparing each attribute.
102
+ # @param [Object] Object to be compared
103
+ def ==(o)
104
+ return true if self.equal?(o)
105
+ self.class == o.class &&
106
+ launch_method_directly == o.launch_method_directly &&
107
+ providers == o.providers &&
108
+ disclosed_fields == o.disclosed_fields
109
+ end
110
+
111
+ # @see the `==` method
112
+ # @param [Object] Object to be compared
113
+ def eql?(o)
114
+ self == o
115
+ end
116
+
117
+ # Calculates hash code according to all attributes.
118
+ # @return [Integer] Hash code
119
+ def hash
120
+ [launch_method_directly, providers, disclosed_fields].hash
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 self.build_from_hash(attributes)
127
+ return nil unless attributes.is_a?(Hash)
128
+ attributes = attributes.transform_keys(&:to_sym)
129
+ transformed_hash = {}
130
+ openapi_types.each_pair do |key, type|
131
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
132
+ transformed_hash["#{key}"] = nil
133
+ elsif type =~ /\AArray<(.*)>/i
134
+ # check to ensure the input is an array given that the attribute
135
+ # is documented as an array but the input is not
136
+ if attributes[attribute_map[key]].is_a?(Array)
137
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
138
+ end
139
+ elsif !attributes[attribute_map[key]].nil?
140
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
141
+ end
142
+ end
143
+ new(transformed_hash)
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 self._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 = TrinsicApi.const_get(type)
185
+ klass.respond_to?(:openapi_any_of) || 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