cloudmersive-validate-api-client 1.4.2 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. metadata +3 -154
  3. data/Gemfile +0 -7
  4. data/README.md +0 -158
  5. data/Rakefile +0 -8
  6. data/cloudmersive-validate-api-client.gemspec +0 -45
  7. data/docs/AddressApi.md +0 -228
  8. data/docs/AddressGetServersResponse.md +0 -9
  9. data/docs/AddressVerifySyntaxOnlyResponse.md +0 -11
  10. data/docs/CheckResponse.md +0 -8
  11. data/docs/DomainApi.md +0 -228
  12. data/docs/EmailApi.md +0 -173
  13. data/docs/FirstNameValidationRequest.md +0 -8
  14. data/docs/FirstNameValidationResponse.md +0 -9
  15. data/docs/FullEmailValidationResponse.md +0 -16
  16. data/docs/FullNameValidationRequest.md +0 -8
  17. data/docs/FullNameValidationResponse.md +0 -17
  18. data/docs/GeolocateResponse.md +0 -16
  19. data/docs/GetGenderRequest.md +0 -9
  20. data/docs/GetGenderResponse.md +0 -9
  21. data/docs/GetTimezonesRequest.md +0 -8
  22. data/docs/GetTimezonesResponse.md +0 -13
  23. data/docs/IPAddressApi.md +0 -63
  24. data/docs/LastNameValidationRequest.md +0 -8
  25. data/docs/LastNameValidationResponse.md +0 -9
  26. data/docs/LeadEnrichmentApi.md +0 -61
  27. data/docs/LeadEnrichmentRequest.md +0 -21
  28. data/docs/LeadEnrichmentResponse.md +0 -25
  29. data/docs/NameApi.md +0 -283
  30. data/docs/ParseAddressRequest.md +0 -9
  31. data/docs/ParseAddressResponse.md +0 -16
  32. data/docs/PhoneNumberApi.md +0 -63
  33. data/docs/PhoneNumberValidateRequest.md +0 -9
  34. data/docs/PhoneNumberValidationResponse.md +0 -15
  35. data/docs/Timezone.md +0 -10
  36. data/docs/UserAgentApi.md +0 -63
  37. data/docs/UserAgentValidateRequest.md +0 -8
  38. data/docs/UserAgentValidateResponse.md +0 -21
  39. data/docs/ValidateAddressRequest.md +0 -13
  40. data/docs/ValidateAddressResponse.md +0 -10
  41. data/docs/ValidateCountryRequest.md +0 -8
  42. data/docs/ValidateCountryResponse.md +0 -13
  43. data/docs/ValidateIdentifierRequest.md +0 -15
  44. data/docs/ValidateIdentifierResponse.md +0 -9
  45. data/docs/ValidateUrlRequestFull.md +0 -8
  46. data/docs/ValidateUrlRequestSyntaxOnly.md +0 -8
  47. data/docs/ValidateUrlResponseFull.md +0 -12
  48. data/docs/ValidateUrlResponseSyntaxOnly.md +0 -9
  49. data/docs/VatApi.md +0 -63
  50. data/docs/VatLookupRequest.md +0 -8
  51. data/docs/VatLookupResponse.md +0 -19
  52. data/docs/WhoisResponse.md +0 -22
  53. data/git_push.sh +0 -55
  54. data/lib/cloudmersive-validate-api-client.rb +0 -85
  55. data/lib/cloudmersive-validate-api-client/api/address_api.rb +0 -243
  56. data/lib/cloudmersive-validate-api-client/api/domain_api.rb +0 -243
  57. data/lib/cloudmersive-validate-api-client/api/email_api.rb +0 -188
  58. data/lib/cloudmersive-validate-api-client/api/ip_address_api.rb +0 -78
  59. data/lib/cloudmersive-validate-api-client/api/lead_enrichment_api.rb +0 -78
  60. data/lib/cloudmersive-validate-api-client/api/name_api.rb +0 -298
  61. data/lib/cloudmersive-validate-api-client/api/phone_number_api.rb +0 -78
  62. data/lib/cloudmersive-validate-api-client/api/user_agent_api.rb +0 -78
  63. data/lib/cloudmersive-validate-api-client/api/vat_api.rb +0 -78
  64. data/lib/cloudmersive-validate-api-client/api_client.rb +0 -389
  65. data/lib/cloudmersive-validate-api-client/api_error.rb +0 -38
  66. data/lib/cloudmersive-validate-api-client/configuration.rb +0 -209
  67. data/lib/cloudmersive-validate-api-client/models/address_get_servers_response.rb +0 -201
  68. data/lib/cloudmersive-validate-api-client/models/address_verify_syntax_only_response.rb +0 -219
  69. data/lib/cloudmersive-validate-api-client/models/check_response.rb +0 -189
  70. data/lib/cloudmersive-validate-api-client/models/first_name_validation_request.rb +0 -189
  71. data/lib/cloudmersive-validate-api-client/models/first_name_validation_response.rb +0 -199
  72. data/lib/cloudmersive-validate-api-client/models/full_email_validation_response.rb +0 -269
  73. data/lib/cloudmersive-validate-api-client/models/full_name_validation_request.rb +0 -189
  74. data/lib/cloudmersive-validate-api-client/models/full_name_validation_response.rb +0 -279
  75. data/lib/cloudmersive-validate-api-client/models/geolocate_response.rb +0 -269
  76. data/lib/cloudmersive-validate-api-client/models/get_gender_request.rb +0 -199
  77. data/lib/cloudmersive-validate-api-client/models/get_gender_response.rb +0 -199
  78. data/lib/cloudmersive-validate-api-client/models/get_timezones_request.rb +0 -189
  79. data/lib/cloudmersive-validate-api-client/models/get_timezones_response.rb +0 -241
  80. data/lib/cloudmersive-validate-api-client/models/last_name_validation_request.rb +0 -189
  81. data/lib/cloudmersive-validate-api-client/models/last_name_validation_response.rb +0 -199
  82. data/lib/cloudmersive-validate-api-client/models/lead_enrichment_request.rb +0 -319
  83. data/lib/cloudmersive-validate-api-client/models/lead_enrichment_response.rb +0 -359
  84. data/lib/cloudmersive-validate-api-client/models/parse_address_request.rb +0 -199
  85. data/lib/cloudmersive-validate-api-client/models/parse_address_response.rb +0 -269
  86. data/lib/cloudmersive-validate-api-client/models/phone_number_validate_request.rb +0 -199
  87. data/lib/cloudmersive-validate-api-client/models/phone_number_validation_response.rb +0 -259
  88. data/lib/cloudmersive-validate-api-client/models/timezone.rb +0 -209
  89. data/lib/cloudmersive-validate-api-client/models/user_agent_validate_request.rb +0 -189
  90. data/lib/cloudmersive-validate-api-client/models/user_agent_validate_response.rb +0 -319
  91. data/lib/cloudmersive-validate-api-client/models/validate_address_request.rb +0 -239
  92. data/lib/cloudmersive-validate-api-client/models/validate_address_response.rb +0 -209
  93. data/lib/cloudmersive-validate-api-client/models/validate_country_request.rb +0 -189
  94. data/lib/cloudmersive-validate-api-client/models/validate_country_response.rb +0 -241
  95. data/lib/cloudmersive-validate-api-client/models/validate_identifier_request.rb +0 -259
  96. data/lib/cloudmersive-validate-api-client/models/validate_identifier_response.rb +0 -199
  97. data/lib/cloudmersive-validate-api-client/models/validate_url_request_full.rb +0 -189
  98. data/lib/cloudmersive-validate-api-client/models/validate_url_request_syntax_only.rb +0 -189
  99. data/lib/cloudmersive-validate-api-client/models/validate_url_response_full.rb +0 -229
  100. data/lib/cloudmersive-validate-api-client/models/validate_url_response_syntax_only.rb +0 -199
  101. data/lib/cloudmersive-validate-api-client/models/vat_lookup_request.rb +0 -189
  102. data/lib/cloudmersive-validate-api-client/models/vat_lookup_response.rb +0 -299
  103. data/lib/cloudmersive-validate-api-client/models/whois_response.rb +0 -329
  104. data/lib/cloudmersive-validate-api-client/version.rb +0 -15
  105. data/spec/api/address_api_spec.rb +0 -83
  106. data/spec/api/domain_api_spec.rb +0 -83
  107. data/spec/api/email_api_spec.rb +0 -71
  108. data/spec/api/ip_address_api_spec.rb +0 -47
  109. data/spec/api/lead_enrichment_api_spec.rb +0 -47
  110. data/spec/api/name_api_spec.rb +0 -95
  111. data/spec/api/phone_number_api_spec.rb +0 -47
  112. data/spec/api/user_agent_api_spec.rb +0 -47
  113. data/spec/api/vat_api_spec.rb +0 -47
  114. data/spec/api_client_spec.rb +0 -226
  115. data/spec/configuration_spec.rb +0 -42
  116. data/spec/models/address_get_servers_response_spec.rb +0 -48
  117. data/spec/models/address_verify_syntax_only_response_spec.rb +0 -60
  118. data/spec/models/check_response_spec.rb +0 -42
  119. data/spec/models/first_name_validation_request_spec.rb +0 -42
  120. data/spec/models/first_name_validation_response_spec.rb +0 -48
  121. data/spec/models/full_email_validation_response_spec.rb +0 -90
  122. data/spec/models/full_name_validation_request_spec.rb +0 -42
  123. data/spec/models/full_name_validation_response_spec.rb +0 -96
  124. data/spec/models/geolocate_response_spec.rb +0 -90
  125. data/spec/models/get_gender_request_spec.rb +0 -48
  126. data/spec/models/get_gender_response_spec.rb +0 -48
  127. data/spec/models/get_timezones_request_spec.rb +0 -42
  128. data/spec/models/get_timezones_response_spec.rb +0 -72
  129. data/spec/models/last_name_validation_request_spec.rb +0 -42
  130. data/spec/models/last_name_validation_response_spec.rb +0 -48
  131. data/spec/models/lead_enrichment_request_spec.rb +0 -120
  132. data/spec/models/lead_enrichment_response_spec.rb +0 -144
  133. data/spec/models/parse_address_request_spec.rb +0 -48
  134. data/spec/models/parse_address_response_spec.rb +0 -90
  135. data/spec/models/phone_number_validate_request_spec.rb +0 -48
  136. data/spec/models/phone_number_validation_response_spec.rb +0 -84
  137. data/spec/models/timezone_spec.rb +0 -54
  138. data/spec/models/user_agent_validate_request_spec.rb +0 -42
  139. data/spec/models/user_agent_validate_response_spec.rb +0 -120
  140. data/spec/models/validate_address_request_spec.rb +0 -72
  141. data/spec/models/validate_address_response_spec.rb +0 -54
  142. data/spec/models/validate_country_request_spec.rb +0 -42
  143. data/spec/models/validate_country_response_spec.rb +0 -72
  144. data/spec/models/validate_identifier_request_spec.rb +0 -84
  145. data/spec/models/validate_identifier_response_spec.rb +0 -48
  146. data/spec/models/validate_url_request_full_spec.rb +0 -42
  147. data/spec/models/validate_url_request_syntax_only_spec.rb +0 -42
  148. data/spec/models/validate_url_response_full_spec.rb +0 -66
  149. data/spec/models/validate_url_response_syntax_only_spec.rb +0 -48
  150. data/spec/models/vat_lookup_request_spec.rb +0 -42
  151. data/spec/models/vat_lookup_response_spec.rb +0 -108
  152. data/spec/models/whois_response_spec.rb +0 -126
  153. data/spec/spec_helper.rb +0 -111
@@ -1,269 +0,0 @@
1
- =begin
2
- #validateapi
3
-
4
- #The validation APIs help you validate data. Check if an E-mail address is real. Check if a domain is real. Check up on an IP address, and even where it is located. All this and much more is available in the validation API.
5
-
6
- OpenAPI spec version: v1
7
-
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.3.1
10
-
11
- =end
12
-
13
- require 'date'
14
-
15
- module CloudmersiveValidateApiClient
16
- # Full email addresss validation result
17
- class FullEmailValidationResponse
18
- # True if the email address is valid overall, false otherwise
19
- attr_accessor :valid_address
20
-
21
- # Email server connected to for verification
22
- attr_accessor :mail_server_used_for_validation
23
-
24
- # True if the syntax of the email address is valid, false otherwise. This is one component of ValidAddress, but not the only one.
25
- attr_accessor :valid_syntax
26
-
27
- # True if the domain name of the email address is valid, false otherwise. This is one component of ValidAddress, but not the only one.
28
- attr_accessor :valid_domain
29
-
30
- # True if the email address was verified by the remote server, false otherwise. This is one component of ValidAddress, but not the only one.
31
- attr_accessor :valid_smtp
32
-
33
- # True if the domain is a catch-all domain name, false otherwise. Catch-all domain names, while rare, always accept inbound email to ensure they do not lose any potentially useful emails. Catch-all domain names can occassionally be configured to first accept and store all inbound email, but then later send a bounce email back to the sender after a delayed period of time.
34
- attr_accessor :is_catchall_domain
35
-
36
- # Domain name of the email address
37
- attr_accessor :domain
38
-
39
- # True if the email domain name is a free provider (typically a free to sign up web email provider for consumers / personal use), false otherwise.
40
- attr_accessor :is_free_email_provider
41
-
42
- # True if the email address is a disposable email address, false otherwise; these disposable providers are not typically used to receive email and so will have a low likelihood of opening mail sent there.
43
- attr_accessor :is_disposable
44
-
45
-
46
- # Attribute mapping from ruby-style variable name to JSON key.
47
- def self.attribute_map
48
- {
49
- :'valid_address' => :'ValidAddress',
50
- :'mail_server_used_for_validation' => :'MailServerUsedForValidation',
51
- :'valid_syntax' => :'Valid_Syntax',
52
- :'valid_domain' => :'Valid_Domain',
53
- :'valid_smtp' => :'Valid_SMTP',
54
- :'is_catchall_domain' => :'IsCatchallDomain',
55
- :'domain' => :'Domain',
56
- :'is_free_email_provider' => :'IsFreeEmailProvider',
57
- :'is_disposable' => :'IsDisposable'
58
- }
59
- end
60
-
61
- # Attribute type mapping.
62
- def self.swagger_types
63
- {
64
- :'valid_address' => :'BOOLEAN',
65
- :'mail_server_used_for_validation' => :'String',
66
- :'valid_syntax' => :'BOOLEAN',
67
- :'valid_domain' => :'BOOLEAN',
68
- :'valid_smtp' => :'BOOLEAN',
69
- :'is_catchall_domain' => :'BOOLEAN',
70
- :'domain' => :'String',
71
- :'is_free_email_provider' => :'BOOLEAN',
72
- :'is_disposable' => :'BOOLEAN'
73
- }
74
- end
75
-
76
- # Initializes the object
77
- # @param [Hash] attributes Model attributes in the form of hash
78
- def initialize(attributes = {})
79
- return unless attributes.is_a?(Hash)
80
-
81
- # convert string to symbol for hash key
82
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
83
-
84
- if attributes.has_key?(:'ValidAddress')
85
- self.valid_address = attributes[:'ValidAddress']
86
- end
87
-
88
- if attributes.has_key?(:'MailServerUsedForValidation')
89
- self.mail_server_used_for_validation = attributes[:'MailServerUsedForValidation']
90
- end
91
-
92
- if attributes.has_key?(:'Valid_Syntax')
93
- self.valid_syntax = attributes[:'Valid_Syntax']
94
- end
95
-
96
- if attributes.has_key?(:'Valid_Domain')
97
- self.valid_domain = attributes[:'Valid_Domain']
98
- end
99
-
100
- if attributes.has_key?(:'Valid_SMTP')
101
- self.valid_smtp = attributes[:'Valid_SMTP']
102
- end
103
-
104
- if attributes.has_key?(:'IsCatchallDomain')
105
- self.is_catchall_domain = attributes[:'IsCatchallDomain']
106
- end
107
-
108
- if attributes.has_key?(:'Domain')
109
- self.domain = attributes[:'Domain']
110
- end
111
-
112
- if attributes.has_key?(:'IsFreeEmailProvider')
113
- self.is_free_email_provider = attributes[:'IsFreeEmailProvider']
114
- end
115
-
116
- if attributes.has_key?(:'IsDisposable')
117
- self.is_disposable = attributes[:'IsDisposable']
118
- end
119
-
120
- end
121
-
122
- # Show invalid properties with the reasons. Usually used together with valid?
123
- # @return Array for valid properties with the reasons
124
- def list_invalid_properties
125
- invalid_properties = Array.new
126
- return invalid_properties
127
- end
128
-
129
- # Check to see if the all the properties in the model are valid
130
- # @return true if the model is valid
131
- def valid?
132
- return true
133
- end
134
-
135
- # Checks equality by comparing each attribute.
136
- # @param [Object] Object to be compared
137
- def ==(o)
138
- return true if self.equal?(o)
139
- self.class == o.class &&
140
- valid_address == o.valid_address &&
141
- mail_server_used_for_validation == o.mail_server_used_for_validation &&
142
- valid_syntax == o.valid_syntax &&
143
- valid_domain == o.valid_domain &&
144
- valid_smtp == o.valid_smtp &&
145
- is_catchall_domain == o.is_catchall_domain &&
146
- domain == o.domain &&
147
- is_free_email_provider == o.is_free_email_provider &&
148
- is_disposable == o.is_disposable
149
- end
150
-
151
- # @see the `==` method
152
- # @param [Object] Object to be compared
153
- def eql?(o)
154
- self == o
155
- end
156
-
157
- # Calculates hash code according to all attributes.
158
- # @return [Fixnum] Hash code
159
- def hash
160
- [valid_address, mail_server_used_for_validation, valid_syntax, valid_domain, valid_smtp, is_catchall_domain, domain, is_free_email_provider, is_disposable].hash
161
- end
162
-
163
- # Builds the object from hash
164
- # @param [Hash] attributes Model attributes in the form of hash
165
- # @return [Object] Returns the model itself
166
- def build_from_hash(attributes)
167
- return nil unless attributes.is_a?(Hash)
168
- self.class.swagger_types.each_pair do |key, type|
169
- if type =~ /\AArray<(.*)>/i
170
- # check to ensure the input is an array given that the the attribute
171
- # is documented as an array but the input is not
172
- if attributes[self.class.attribute_map[key]].is_a?(Array)
173
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
174
- end
175
- elsif !attributes[self.class.attribute_map[key]].nil?
176
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
177
- end # or else data not found in attributes(hash), not an issue as the data can be optional
178
- end
179
-
180
- self
181
- end
182
-
183
- # Deserializes the data based on type
184
- # @param string type Data type
185
- # @param string value Value to be deserialized
186
- # @return [Object] Deserialized data
187
- def _deserialize(type, value)
188
- case type.to_sym
189
- when :DateTime
190
- DateTime.parse(value)
191
- when :Date
192
- Date.parse(value)
193
- when :String
194
- value.to_s
195
- when :Integer
196
- value.to_i
197
- when :Float
198
- value.to_f
199
- when :BOOLEAN
200
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
201
- true
202
- else
203
- false
204
- end
205
- when :Object
206
- # generic object (usually a Hash), return directly
207
- value
208
- when /\AArray<(?<inner_type>.+)>\z/
209
- inner_type = Regexp.last_match[:inner_type]
210
- value.map { |v| _deserialize(inner_type, v) }
211
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
212
- k_type = Regexp.last_match[:k_type]
213
- v_type = Regexp.last_match[:v_type]
214
- {}.tap do |hash|
215
- value.each do |k, v|
216
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
217
- end
218
- end
219
- else # model
220
- temp_model = CloudmersiveValidateApiClient.const_get(type).new
221
- temp_model.build_from_hash(value)
222
- end
223
- end
224
-
225
- # Returns the string representation of the object
226
- # @return [String] String presentation of the object
227
- def to_s
228
- to_hash.to_s
229
- end
230
-
231
- # to_body is an alias to to_hash (backward compatibility)
232
- # @return [Hash] Returns the object in the form of hash
233
- def to_body
234
- to_hash
235
- end
236
-
237
- # Returns the object in the form of hash
238
- # @return [Hash] Returns the object in the form of hash
239
- def to_hash
240
- hash = {}
241
- self.class.attribute_map.each_pair do |attr, param|
242
- value = self.send(attr)
243
- next if value.nil?
244
- hash[param] = _to_hash(value)
245
- end
246
- hash
247
- end
248
-
249
- # Outputs non-array value in the form of hash
250
- # For object, use to_hash. Otherwise, just return the value
251
- # @param [Object] value Any valid value
252
- # @return [Hash] Returns the value in the form of hash
253
- def _to_hash(value)
254
- if value.is_a?(Array)
255
- value.compact.map{ |v| _to_hash(v) }
256
- elsif value.is_a?(Hash)
257
- {}.tap do |hash|
258
- value.each { |k, v| hash[k] = _to_hash(v) }
259
- end
260
- elsif value.respond_to? :to_hash
261
- value.to_hash
262
- else
263
- value
264
- end
265
- end
266
-
267
- end
268
-
269
- end
@@ -1,189 +0,0 @@
1
- =begin
2
- #validateapi
3
-
4
- #The validation APIs help you validate data. Check if an E-mail address is real. Check if a domain is real. Check up on an IP address, and even where it is located. All this and much more is available in the validation API.
5
-
6
- OpenAPI spec version: v1
7
-
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.3.1
10
-
11
- =end
12
-
13
- require 'date'
14
-
15
- module CloudmersiveValidateApiClient
16
- # Request to validate a full name string
17
- class FullNameValidationRequest
18
- # Full name to process as a free-form string; supports many components such as First Name, Middle Name, Last Name, Title, Nickname, Suffix, and Display Name
19
- attr_accessor :full_name_string
20
-
21
-
22
- # Attribute mapping from ruby-style variable name to JSON key.
23
- def self.attribute_map
24
- {
25
- :'full_name_string' => :'FullNameString'
26
- }
27
- end
28
-
29
- # Attribute type mapping.
30
- def self.swagger_types
31
- {
32
- :'full_name_string' => :'String'
33
- }
34
- end
35
-
36
- # Initializes the object
37
- # @param [Hash] attributes Model attributes in the form of hash
38
- def initialize(attributes = {})
39
- return unless attributes.is_a?(Hash)
40
-
41
- # convert string to symbol for hash key
42
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
43
-
44
- if attributes.has_key?(:'FullNameString')
45
- self.full_name_string = attributes[:'FullNameString']
46
- end
47
-
48
- end
49
-
50
- # Show invalid properties with the reasons. Usually used together with valid?
51
- # @return Array for valid properties with the reasons
52
- def list_invalid_properties
53
- invalid_properties = Array.new
54
- return invalid_properties
55
- end
56
-
57
- # Check to see if the all the properties in the model are valid
58
- # @return true if the model is valid
59
- def valid?
60
- return true
61
- end
62
-
63
- # Checks equality by comparing each attribute.
64
- # @param [Object] Object to be compared
65
- def ==(o)
66
- return true if self.equal?(o)
67
- self.class == o.class &&
68
- full_name_string == o.full_name_string
69
- end
70
-
71
- # @see the `==` method
72
- # @param [Object] Object to be compared
73
- def eql?(o)
74
- self == o
75
- end
76
-
77
- # Calculates hash code according to all attributes.
78
- # @return [Fixnum] Hash code
79
- def hash
80
- [full_name_string].hash
81
- end
82
-
83
- # Builds the object from hash
84
- # @param [Hash] attributes Model attributes in the form of hash
85
- # @return [Object] Returns the model itself
86
- def build_from_hash(attributes)
87
- return nil unless attributes.is_a?(Hash)
88
- self.class.swagger_types.each_pair do |key, type|
89
- if type =~ /\AArray<(.*)>/i
90
- # check to ensure the input is an array given that the the attribute
91
- # is documented as an array but the input is not
92
- if attributes[self.class.attribute_map[key]].is_a?(Array)
93
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
94
- end
95
- elsif !attributes[self.class.attribute_map[key]].nil?
96
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
97
- end # or else data not found in attributes(hash), not an issue as the data can be optional
98
- end
99
-
100
- self
101
- end
102
-
103
- # Deserializes the data based on type
104
- # @param string type Data type
105
- # @param string value Value to be deserialized
106
- # @return [Object] Deserialized data
107
- def _deserialize(type, value)
108
- case type.to_sym
109
- when :DateTime
110
- DateTime.parse(value)
111
- when :Date
112
- Date.parse(value)
113
- when :String
114
- value.to_s
115
- when :Integer
116
- value.to_i
117
- when :Float
118
- value.to_f
119
- when :BOOLEAN
120
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
121
- true
122
- else
123
- false
124
- end
125
- when :Object
126
- # generic object (usually a Hash), return directly
127
- value
128
- when /\AArray<(?<inner_type>.+)>\z/
129
- inner_type = Regexp.last_match[:inner_type]
130
- value.map { |v| _deserialize(inner_type, v) }
131
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
132
- k_type = Regexp.last_match[:k_type]
133
- v_type = Regexp.last_match[:v_type]
134
- {}.tap do |hash|
135
- value.each do |k, v|
136
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
137
- end
138
- end
139
- else # model
140
- temp_model = CloudmersiveValidateApiClient.const_get(type).new
141
- temp_model.build_from_hash(value)
142
- end
143
- end
144
-
145
- # Returns the string representation of the object
146
- # @return [String] String presentation of the object
147
- def to_s
148
- to_hash.to_s
149
- end
150
-
151
- # to_body is an alias to to_hash (backward compatibility)
152
- # @return [Hash] Returns the object in the form of hash
153
- def to_body
154
- to_hash
155
- end
156
-
157
- # Returns the object in the form of hash
158
- # @return [Hash] Returns the object in the form of hash
159
- def to_hash
160
- hash = {}
161
- self.class.attribute_map.each_pair do |attr, param|
162
- value = self.send(attr)
163
- next if value.nil?
164
- hash[param] = _to_hash(value)
165
- end
166
- hash
167
- end
168
-
169
- # Outputs non-array value in the form of hash
170
- # For object, use to_hash. Otherwise, just return the value
171
- # @param [Object] value Any valid value
172
- # @return [Hash] Returns the value in the form of hash
173
- def _to_hash(value)
174
- if value.is_a?(Array)
175
- value.compact.map{ |v| _to_hash(v) }
176
- elsif value.is_a?(Hash)
177
- {}.tap do |hash|
178
- value.each { |k, v| hash[k] = _to_hash(v) }
179
- end
180
- elsif value.respond_to? :to_hash
181
- value.to_hash
182
- else
183
- value
184
- end
185
- end
186
-
187
- end
188
-
189
- end