cloudmersive-validate-api-client 1.3.9 → 2.0.2

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 (138) hide show
  1. checksums.yaml +4 -4
  2. metadata +3 -139
  3. data/Gemfile +0 -7
  4. data/README.md +0 -151
  5. data/Rakefile +0 -8
  6. data/cloudmersive-validate-api-client.gemspec +0 -45
  7. data/docs/AddressApi.md +0 -118
  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/IPAddressApi.md +0 -63
  22. data/docs/LastNameValidationRequest.md +0 -8
  23. data/docs/LastNameValidationResponse.md +0 -9
  24. data/docs/LeadEnrichmentApi.md +0 -61
  25. data/docs/LeadEnrichmentRequest.md +0 -21
  26. data/docs/LeadEnrichmentResponse.md +0 -25
  27. data/docs/NameApi.md +0 -283
  28. data/docs/ParseAddressRequest.md +0 -9
  29. data/docs/ParseAddressResponse.md +0 -16
  30. data/docs/PhoneNumberApi.md +0 -63
  31. data/docs/PhoneNumberValidateRequest.md +0 -9
  32. data/docs/PhoneNumberValidationResponse.md +0 -15
  33. data/docs/UserAgentApi.md +0 -63
  34. data/docs/UserAgentValidateRequest.md +0 -8
  35. data/docs/UserAgentValidateResponse.md +0 -21
  36. data/docs/ValidateCountryRequest.md +0 -8
  37. data/docs/ValidateCountryResponse.md +0 -12
  38. data/docs/ValidateIdentifierRequest.md +0 -15
  39. data/docs/ValidateIdentifierResponse.md +0 -9
  40. data/docs/ValidateUrlRequestFull.md +0 -8
  41. data/docs/ValidateUrlRequestSyntaxOnly.md +0 -8
  42. data/docs/ValidateUrlResponseFull.md +0 -12
  43. data/docs/ValidateUrlResponseSyntaxOnly.md +0 -9
  44. data/docs/VatApi.md +0 -63
  45. data/docs/VatLookupRequest.md +0 -8
  46. data/docs/VatLookupResponse.md +0 -19
  47. data/docs/WhoisResponse.md +0 -22
  48. data/git_push.sh +0 -55
  49. data/lib/cloudmersive-validate-api-client.rb +0 -80
  50. data/lib/cloudmersive-validate-api-client/api/address_api.rb +0 -133
  51. data/lib/cloudmersive-validate-api-client/api/domain_api.rb +0 -243
  52. data/lib/cloudmersive-validate-api-client/api/email_api.rb +0 -188
  53. data/lib/cloudmersive-validate-api-client/api/ip_address_api.rb +0 -78
  54. data/lib/cloudmersive-validate-api-client/api/lead_enrichment_api.rb +0 -78
  55. data/lib/cloudmersive-validate-api-client/api/name_api.rb +0 -298
  56. data/lib/cloudmersive-validate-api-client/api/phone_number_api.rb +0 -78
  57. data/lib/cloudmersive-validate-api-client/api/user_agent_api.rb +0 -78
  58. data/lib/cloudmersive-validate-api-client/api/vat_api.rb +0 -78
  59. data/lib/cloudmersive-validate-api-client/api_client.rb +0 -389
  60. data/lib/cloudmersive-validate-api-client/api_error.rb +0 -38
  61. data/lib/cloudmersive-validate-api-client/configuration.rb +0 -209
  62. data/lib/cloudmersive-validate-api-client/models/address_get_servers_response.rb +0 -201
  63. data/lib/cloudmersive-validate-api-client/models/address_verify_syntax_only_response.rb +0 -219
  64. data/lib/cloudmersive-validate-api-client/models/check_response.rb +0 -189
  65. data/lib/cloudmersive-validate-api-client/models/first_name_validation_request.rb +0 -189
  66. data/lib/cloudmersive-validate-api-client/models/first_name_validation_response.rb +0 -199
  67. data/lib/cloudmersive-validate-api-client/models/full_email_validation_response.rb +0 -269
  68. data/lib/cloudmersive-validate-api-client/models/full_name_validation_request.rb +0 -189
  69. data/lib/cloudmersive-validate-api-client/models/full_name_validation_response.rb +0 -279
  70. data/lib/cloudmersive-validate-api-client/models/geolocate_response.rb +0 -269
  71. data/lib/cloudmersive-validate-api-client/models/get_gender_request.rb +0 -199
  72. data/lib/cloudmersive-validate-api-client/models/get_gender_response.rb +0 -199
  73. data/lib/cloudmersive-validate-api-client/models/last_name_validation_request.rb +0 -189
  74. data/lib/cloudmersive-validate-api-client/models/last_name_validation_response.rb +0 -199
  75. data/lib/cloudmersive-validate-api-client/models/lead_enrichment_request.rb +0 -319
  76. data/lib/cloudmersive-validate-api-client/models/lead_enrichment_response.rb +0 -359
  77. data/lib/cloudmersive-validate-api-client/models/parse_address_request.rb +0 -199
  78. data/lib/cloudmersive-validate-api-client/models/parse_address_response.rb +0 -269
  79. data/lib/cloudmersive-validate-api-client/models/phone_number_validate_request.rb +0 -199
  80. data/lib/cloudmersive-validate-api-client/models/phone_number_validation_response.rb +0 -259
  81. data/lib/cloudmersive-validate-api-client/models/user_agent_validate_request.rb +0 -189
  82. data/lib/cloudmersive-validate-api-client/models/user_agent_validate_response.rb +0 -319
  83. data/lib/cloudmersive-validate-api-client/models/validate_country_request.rb +0 -189
  84. data/lib/cloudmersive-validate-api-client/models/validate_country_response.rb +0 -229
  85. data/lib/cloudmersive-validate-api-client/models/validate_identifier_request.rb +0 -259
  86. data/lib/cloudmersive-validate-api-client/models/validate_identifier_response.rb +0 -199
  87. data/lib/cloudmersive-validate-api-client/models/validate_url_request_full.rb +0 -189
  88. data/lib/cloudmersive-validate-api-client/models/validate_url_request_syntax_only.rb +0 -189
  89. data/lib/cloudmersive-validate-api-client/models/validate_url_response_full.rb +0 -229
  90. data/lib/cloudmersive-validate-api-client/models/validate_url_response_syntax_only.rb +0 -199
  91. data/lib/cloudmersive-validate-api-client/models/vat_lookup_request.rb +0 -189
  92. data/lib/cloudmersive-validate-api-client/models/vat_lookup_response.rb +0 -299
  93. data/lib/cloudmersive-validate-api-client/models/whois_response.rb +0 -329
  94. data/lib/cloudmersive-validate-api-client/version.rb +0 -15
  95. data/spec/api/address_api_spec.rb +0 -59
  96. data/spec/api/domain_api_spec.rb +0 -83
  97. data/spec/api/email_api_spec.rb +0 -71
  98. data/spec/api/ip_address_api_spec.rb +0 -47
  99. data/spec/api/lead_enrichment_api_spec.rb +0 -47
  100. data/spec/api/name_api_spec.rb +0 -95
  101. data/spec/api/phone_number_api_spec.rb +0 -47
  102. data/spec/api/user_agent_api_spec.rb +0 -47
  103. data/spec/api/vat_api_spec.rb +0 -47
  104. data/spec/api_client_spec.rb +0 -226
  105. data/spec/configuration_spec.rb +0 -42
  106. data/spec/models/address_get_servers_response_spec.rb +0 -48
  107. data/spec/models/address_verify_syntax_only_response_spec.rb +0 -60
  108. data/spec/models/check_response_spec.rb +0 -42
  109. data/spec/models/first_name_validation_request_spec.rb +0 -42
  110. data/spec/models/first_name_validation_response_spec.rb +0 -48
  111. data/spec/models/full_email_validation_response_spec.rb +0 -90
  112. data/spec/models/full_name_validation_request_spec.rb +0 -42
  113. data/spec/models/full_name_validation_response_spec.rb +0 -96
  114. data/spec/models/geolocate_response_spec.rb +0 -90
  115. data/spec/models/get_gender_request_spec.rb +0 -48
  116. data/spec/models/get_gender_response_spec.rb +0 -48
  117. data/spec/models/last_name_validation_request_spec.rb +0 -42
  118. data/spec/models/last_name_validation_response_spec.rb +0 -48
  119. data/spec/models/lead_enrichment_request_spec.rb +0 -120
  120. data/spec/models/lead_enrichment_response_spec.rb +0 -144
  121. data/spec/models/parse_address_request_spec.rb +0 -48
  122. data/spec/models/parse_address_response_spec.rb +0 -90
  123. data/spec/models/phone_number_validate_request_spec.rb +0 -48
  124. data/spec/models/phone_number_validation_response_spec.rb +0 -84
  125. data/spec/models/user_agent_validate_request_spec.rb +0 -42
  126. data/spec/models/user_agent_validate_response_spec.rb +0 -120
  127. data/spec/models/validate_country_request_spec.rb +0 -42
  128. data/spec/models/validate_country_response_spec.rb +0 -66
  129. data/spec/models/validate_identifier_request_spec.rb +0 -84
  130. data/spec/models/validate_identifier_response_spec.rb +0 -48
  131. data/spec/models/validate_url_request_full_spec.rb +0 -42
  132. data/spec/models/validate_url_request_syntax_only_spec.rb +0 -42
  133. data/spec/models/validate_url_response_full_spec.rb +0 -66
  134. data/spec/models/validate_url_response_syntax_only_spec.rb +0 -48
  135. data/spec/models/vat_lookup_request_spec.rb +0 -42
  136. data/spec/models/vat_lookup_response_spec.rb +0 -108
  137. data/spec/models/whois_response_spec.rb +0 -126
  138. data/spec/spec_helper.rb +0 -111
@@ -1,199 +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
- # Result of a last name validation operation
17
- class LastNameValidationResponse
18
- # True if the validation operation was successful, false otherwise
19
- attr_accessor :successful
20
-
21
- # Possible values are: ValidLastName, ValidUnknownLastName, InvalidSpamInput, InvalidCharacters, InvalidEmpty
22
- attr_accessor :validation_result
23
-
24
-
25
- # Attribute mapping from ruby-style variable name to JSON key.
26
- def self.attribute_map
27
- {
28
- :'successful' => :'Successful',
29
- :'validation_result' => :'ValidationResult'
30
- }
31
- end
32
-
33
- # Attribute type mapping.
34
- def self.swagger_types
35
- {
36
- :'successful' => :'BOOLEAN',
37
- :'validation_result' => :'String'
38
- }
39
- end
40
-
41
- # Initializes the object
42
- # @param [Hash] attributes Model attributes in the form of hash
43
- def initialize(attributes = {})
44
- return unless attributes.is_a?(Hash)
45
-
46
- # convert string to symbol for hash key
47
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
48
-
49
- if attributes.has_key?(:'Successful')
50
- self.successful = attributes[:'Successful']
51
- end
52
-
53
- if attributes.has_key?(:'ValidationResult')
54
- self.validation_result = attributes[:'ValidationResult']
55
- end
56
-
57
- end
58
-
59
- # Show invalid properties with the reasons. Usually used together with valid?
60
- # @return Array for valid properties with the reasons
61
- def list_invalid_properties
62
- invalid_properties = Array.new
63
- return invalid_properties
64
- end
65
-
66
- # Check to see if the all the properties in the model are valid
67
- # @return true if the model is valid
68
- def valid?
69
- return true
70
- end
71
-
72
- # Checks equality by comparing each attribute.
73
- # @param [Object] Object to be compared
74
- def ==(o)
75
- return true if self.equal?(o)
76
- self.class == o.class &&
77
- successful == o.successful &&
78
- validation_result == o.validation_result
79
- end
80
-
81
- # @see the `==` method
82
- # @param [Object] Object to be compared
83
- def eql?(o)
84
- self == o
85
- end
86
-
87
- # Calculates hash code according to all attributes.
88
- # @return [Fixnum] Hash code
89
- def hash
90
- [successful, validation_result].hash
91
- end
92
-
93
- # Builds the object from hash
94
- # @param [Hash] attributes Model attributes in the form of hash
95
- # @return [Object] Returns the model itself
96
- def build_from_hash(attributes)
97
- return nil unless attributes.is_a?(Hash)
98
- self.class.swagger_types.each_pair do |key, type|
99
- if type =~ /\AArray<(.*)>/i
100
- # check to ensure the input is an array given that the the attribute
101
- # is documented as an array but the input is not
102
- if attributes[self.class.attribute_map[key]].is_a?(Array)
103
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
104
- end
105
- elsif !attributes[self.class.attribute_map[key]].nil?
106
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
107
- end # or else data not found in attributes(hash), not an issue as the data can be optional
108
- end
109
-
110
- self
111
- end
112
-
113
- # Deserializes the data based on type
114
- # @param string type Data type
115
- # @param string value Value to be deserialized
116
- # @return [Object] Deserialized data
117
- def _deserialize(type, value)
118
- case type.to_sym
119
- when :DateTime
120
- DateTime.parse(value)
121
- when :Date
122
- Date.parse(value)
123
- when :String
124
- value.to_s
125
- when :Integer
126
- value.to_i
127
- when :Float
128
- value.to_f
129
- when :BOOLEAN
130
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
131
- true
132
- else
133
- false
134
- end
135
- when :Object
136
- # generic object (usually a Hash), return directly
137
- value
138
- when /\AArray<(?<inner_type>.+)>\z/
139
- inner_type = Regexp.last_match[:inner_type]
140
- value.map { |v| _deserialize(inner_type, v) }
141
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
142
- k_type = Regexp.last_match[:k_type]
143
- v_type = Regexp.last_match[:v_type]
144
- {}.tap do |hash|
145
- value.each do |k, v|
146
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
147
- end
148
- end
149
- else # model
150
- temp_model = CloudmersiveValidateApiClient.const_get(type).new
151
- temp_model.build_from_hash(value)
152
- end
153
- end
154
-
155
- # Returns the string representation of the object
156
- # @return [String] String presentation of the object
157
- def to_s
158
- to_hash.to_s
159
- end
160
-
161
- # to_body is an alias to to_hash (backward compatibility)
162
- # @return [Hash] Returns the object in the form of hash
163
- def to_body
164
- to_hash
165
- end
166
-
167
- # Returns the object in the form of hash
168
- # @return [Hash] Returns the object in the form of hash
169
- def to_hash
170
- hash = {}
171
- self.class.attribute_map.each_pair do |attr, param|
172
- value = self.send(attr)
173
- next if value.nil?
174
- hash[param] = _to_hash(value)
175
- end
176
- hash
177
- end
178
-
179
- # Outputs non-array value in the form of hash
180
- # For object, use to_hash. Otherwise, just return the value
181
- # @param [Object] value Any valid value
182
- # @return [Hash] Returns the value in the form of hash
183
- def _to_hash(value)
184
- if value.is_a?(Array)
185
- value.compact.map{ |v| _to_hash(v) }
186
- elsif value.is_a?(Hash)
187
- {}.tap do |hash|
188
- value.each { |k, v| hash[k] = _to_hash(v) }
189
- end
190
- elsif value.respond_to? :to_hash
191
- value.to_hash
192
- else
193
- value
194
- end
195
- end
196
-
197
- end
198
-
199
- end
@@ -1,319 +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
- # Input lead contact; fill in known fields to extend them with matched field values
17
- class LeadEnrichmentRequest
18
- # The person's business email address for the lead
19
- attr_accessor :contact_business_email
20
-
21
- # The person's first name for the lead
22
- attr_accessor :contact_first_name
23
-
24
- # The person's last name for the lead
25
- attr_accessor :contact_last_name
26
-
27
- # Name of the company for the lead
28
- attr_accessor :company_name
29
-
30
- # Domain name / website for the lead
31
- attr_accessor :company_domain_name
32
-
33
- # House number of the address of the company for the lead
34
- attr_accessor :company_house_number
35
-
36
- # Street name of the address of the company for the lead
37
- attr_accessor :company_street
38
-
39
- # City of the address of the company for the lead
40
- attr_accessor :company_city
41
-
42
- # State or Province of the address of the company for the lead
43
- attr_accessor :company_state_or_province
44
-
45
- # Postal Code of the address of the company for the lead
46
- attr_accessor :company_postal_code
47
-
48
- # Country of the address of the company for the lead
49
- attr_accessor :company_country
50
-
51
- # Country Code (2-letter ISO 3166-1) of the address of the company for the lead
52
- attr_accessor :company_country_code
53
-
54
- # Telephone of the company office for the lead
55
- attr_accessor :company_telephone
56
-
57
- # VAT number of the company for the lead
58
- attr_accessor :company_vat_number
59
-
60
-
61
- # Attribute mapping from ruby-style variable name to JSON key.
62
- def self.attribute_map
63
- {
64
- :'contact_business_email' => :'ContactBusinessEmail',
65
- :'contact_first_name' => :'ContactFirstName',
66
- :'contact_last_name' => :'ContactLastName',
67
- :'company_name' => :'CompanyName',
68
- :'company_domain_name' => :'CompanyDomainName',
69
- :'company_house_number' => :'CompanyHouseNumber',
70
- :'company_street' => :'CompanyStreet',
71
- :'company_city' => :'CompanyCity',
72
- :'company_state_or_province' => :'CompanyStateOrProvince',
73
- :'company_postal_code' => :'CompanyPostalCode',
74
- :'company_country' => :'CompanyCountry',
75
- :'company_country_code' => :'CompanyCountryCode',
76
- :'company_telephone' => :'CompanyTelephone',
77
- :'company_vat_number' => :'CompanyVATNumber'
78
- }
79
- end
80
-
81
- # Attribute type mapping.
82
- def self.swagger_types
83
- {
84
- :'contact_business_email' => :'String',
85
- :'contact_first_name' => :'String',
86
- :'contact_last_name' => :'String',
87
- :'company_name' => :'String',
88
- :'company_domain_name' => :'String',
89
- :'company_house_number' => :'String',
90
- :'company_street' => :'String',
91
- :'company_city' => :'String',
92
- :'company_state_or_province' => :'String',
93
- :'company_postal_code' => :'String',
94
- :'company_country' => :'String',
95
- :'company_country_code' => :'String',
96
- :'company_telephone' => :'String',
97
- :'company_vat_number' => :'String'
98
- }
99
- end
100
-
101
- # Initializes the object
102
- # @param [Hash] attributes Model attributes in the form of hash
103
- def initialize(attributes = {})
104
- return unless attributes.is_a?(Hash)
105
-
106
- # convert string to symbol for hash key
107
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
108
-
109
- if attributes.has_key?(:'ContactBusinessEmail')
110
- self.contact_business_email = attributes[:'ContactBusinessEmail']
111
- end
112
-
113
- if attributes.has_key?(:'ContactFirstName')
114
- self.contact_first_name = attributes[:'ContactFirstName']
115
- end
116
-
117
- if attributes.has_key?(:'ContactLastName')
118
- self.contact_last_name = attributes[:'ContactLastName']
119
- end
120
-
121
- if attributes.has_key?(:'CompanyName')
122
- self.company_name = attributes[:'CompanyName']
123
- end
124
-
125
- if attributes.has_key?(:'CompanyDomainName')
126
- self.company_domain_name = attributes[:'CompanyDomainName']
127
- end
128
-
129
- if attributes.has_key?(:'CompanyHouseNumber')
130
- self.company_house_number = attributes[:'CompanyHouseNumber']
131
- end
132
-
133
- if attributes.has_key?(:'CompanyStreet')
134
- self.company_street = attributes[:'CompanyStreet']
135
- end
136
-
137
- if attributes.has_key?(:'CompanyCity')
138
- self.company_city = attributes[:'CompanyCity']
139
- end
140
-
141
- if attributes.has_key?(:'CompanyStateOrProvince')
142
- self.company_state_or_province = attributes[:'CompanyStateOrProvince']
143
- end
144
-
145
- if attributes.has_key?(:'CompanyPostalCode')
146
- self.company_postal_code = attributes[:'CompanyPostalCode']
147
- end
148
-
149
- if attributes.has_key?(:'CompanyCountry')
150
- self.company_country = attributes[:'CompanyCountry']
151
- end
152
-
153
- if attributes.has_key?(:'CompanyCountryCode')
154
- self.company_country_code = attributes[:'CompanyCountryCode']
155
- end
156
-
157
- if attributes.has_key?(:'CompanyTelephone')
158
- self.company_telephone = attributes[:'CompanyTelephone']
159
- end
160
-
161
- if attributes.has_key?(:'CompanyVATNumber')
162
- self.company_vat_number = attributes[:'CompanyVATNumber']
163
- end
164
-
165
- end
166
-
167
- # Show invalid properties with the reasons. Usually used together with valid?
168
- # @return Array for valid properties with the reasons
169
- def list_invalid_properties
170
- invalid_properties = Array.new
171
- return invalid_properties
172
- end
173
-
174
- # Check to see if the all the properties in the model are valid
175
- # @return true if the model is valid
176
- def valid?
177
- return true
178
- end
179
-
180
- # Checks equality by comparing each attribute.
181
- # @param [Object] Object to be compared
182
- def ==(o)
183
- return true if self.equal?(o)
184
- self.class == o.class &&
185
- contact_business_email == o.contact_business_email &&
186
- contact_first_name == o.contact_first_name &&
187
- contact_last_name == o.contact_last_name &&
188
- company_name == o.company_name &&
189
- company_domain_name == o.company_domain_name &&
190
- company_house_number == o.company_house_number &&
191
- company_street == o.company_street &&
192
- company_city == o.company_city &&
193
- company_state_or_province == o.company_state_or_province &&
194
- company_postal_code == o.company_postal_code &&
195
- company_country == o.company_country &&
196
- company_country_code == o.company_country_code &&
197
- company_telephone == o.company_telephone &&
198
- company_vat_number == o.company_vat_number
199
- end
200
-
201
- # @see the `==` method
202
- # @param [Object] Object to be compared
203
- def eql?(o)
204
- self == o
205
- end
206
-
207
- # Calculates hash code according to all attributes.
208
- # @return [Fixnum] Hash code
209
- def hash
210
- [contact_business_email, contact_first_name, contact_last_name, company_name, company_domain_name, company_house_number, company_street, company_city, company_state_or_province, company_postal_code, company_country, company_country_code, company_telephone, company_vat_number].hash
211
- end
212
-
213
- # Builds the object from hash
214
- # @param [Hash] attributes Model attributes in the form of hash
215
- # @return [Object] Returns the model itself
216
- def build_from_hash(attributes)
217
- return nil unless attributes.is_a?(Hash)
218
- self.class.swagger_types.each_pair do |key, type|
219
- if type =~ /\AArray<(.*)>/i
220
- # check to ensure the input is an array given that the the attribute
221
- # is documented as an array but the input is not
222
- if attributes[self.class.attribute_map[key]].is_a?(Array)
223
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
224
- end
225
- elsif !attributes[self.class.attribute_map[key]].nil?
226
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
227
- end # or else data not found in attributes(hash), not an issue as the data can be optional
228
- end
229
-
230
- self
231
- end
232
-
233
- # Deserializes the data based on type
234
- # @param string type Data type
235
- # @param string value Value to be deserialized
236
- # @return [Object] Deserialized data
237
- def _deserialize(type, value)
238
- case type.to_sym
239
- when :DateTime
240
- DateTime.parse(value)
241
- when :Date
242
- Date.parse(value)
243
- when :String
244
- value.to_s
245
- when :Integer
246
- value.to_i
247
- when :Float
248
- value.to_f
249
- when :BOOLEAN
250
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
251
- true
252
- else
253
- false
254
- end
255
- when :Object
256
- # generic object (usually a Hash), return directly
257
- value
258
- when /\AArray<(?<inner_type>.+)>\z/
259
- inner_type = Regexp.last_match[:inner_type]
260
- value.map { |v| _deserialize(inner_type, v) }
261
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
262
- k_type = Regexp.last_match[:k_type]
263
- v_type = Regexp.last_match[:v_type]
264
- {}.tap do |hash|
265
- value.each do |k, v|
266
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
267
- end
268
- end
269
- else # model
270
- temp_model = CloudmersiveValidateApiClient.const_get(type).new
271
- temp_model.build_from_hash(value)
272
- end
273
- end
274
-
275
- # Returns the string representation of the object
276
- # @return [String] String presentation of the object
277
- def to_s
278
- to_hash.to_s
279
- end
280
-
281
- # to_body is an alias to to_hash (backward compatibility)
282
- # @return [Hash] Returns the object in the form of hash
283
- def to_body
284
- to_hash
285
- end
286
-
287
- # Returns the object in the form of hash
288
- # @return [Hash] Returns the object in the form of hash
289
- def to_hash
290
- hash = {}
291
- self.class.attribute_map.each_pair do |attr, param|
292
- value = self.send(attr)
293
- next if value.nil?
294
- hash[param] = _to_hash(value)
295
- end
296
- hash
297
- end
298
-
299
- # Outputs non-array value in the form of hash
300
- # For object, use to_hash. Otherwise, just return the value
301
- # @param [Object] value Any valid value
302
- # @return [Hash] Returns the value in the form of hash
303
- def _to_hash(value)
304
- if value.is_a?(Array)
305
- value.compact.map{ |v| _to_hash(v) }
306
- elsif value.is_a?(Hash)
307
- {}.tap do |hash|
308
- value.each { |k, v| hash[k] = _to_hash(v) }
309
- end
310
- elsif value.respond_to? :to_hash
311
- value.to_hash
312
- else
313
- value
314
- end
315
- end
316
-
317
- end
318
-
319
- end