cloudmersive-validate-api-client 1.3.6 → 1.4.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 (132) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +25 -9
  3. data/cloudmersive-validate-api-client.gemspec +1 -1
  4. data/docs/AddressApi.md +166 -1
  5. data/docs/AddressGetServersResponse.md +2 -2
  6. data/docs/AddressVerifySyntaxOnlyResponse.md +3 -0
  7. data/docs/DomainApi.md +8 -8
  8. data/docs/EmailApi.md +3 -3
  9. data/docs/GetTimezonesRequest.md +8 -0
  10. data/docs/GetTimezonesResponse.md +13 -0
  11. data/docs/IPAddressApi.md +1 -1
  12. data/docs/LeadEnrichmentApi.md +61 -0
  13. data/docs/LeadEnrichmentRequest.md +21 -0
  14. data/docs/LeadEnrichmentResponse.md +25 -0
  15. data/docs/NameApi.md +59 -4
  16. data/docs/ParseAddressResponse.md +2 -1
  17. data/docs/PhoneNumberApi.md +1 -1
  18. data/docs/Timezone.md +10 -0
  19. data/docs/UserAgentApi.md +1 -1
  20. data/docs/ValidateAddressRequest.md +13 -0
  21. data/docs/ValidateAddressResponse.md +10 -0
  22. data/docs/ValidateCountryRequest.md +8 -0
  23. data/docs/ValidateCountryResponse.md +13 -0
  24. data/docs/ValidateIdentifierRequest.md +15 -0
  25. data/docs/ValidateIdentifierResponse.md +9 -0
  26. data/docs/ValidateUrlRequestFull.md +1 -1
  27. data/docs/ValidateUrlRequestSyntaxOnly.md +1 -1
  28. data/docs/VatApi.md +5 -5
  29. data/docs/VatLookupRequest.md +1 -1
  30. data/docs/VatLookupResponse.md +12 -5
  31. data/docs/WhoisResponse.md +11 -0
  32. data/lib/cloudmersive-validate-api-client.rb +13 -1
  33. data/lib/cloudmersive-validate-api-client/api/address_api.rb +167 -2
  34. data/lib/cloudmersive-validate-api-client/api/domain_api.rb +9 -9
  35. data/lib/cloudmersive-validate-api-client/api/email_api.rb +4 -4
  36. data/lib/cloudmersive-validate-api-client/api/ip_address_api.rb +2 -2
  37. data/lib/cloudmersive-validate-api-client/api/lead_enrichment_api.rb +78 -0
  38. data/lib/cloudmersive-validate-api-client/api/name_api.rb +60 -5
  39. data/lib/cloudmersive-validate-api-client/api/phone_number_api.rb +2 -2
  40. data/lib/cloudmersive-validate-api-client/api/user_agent_api.rb +2 -2
  41. data/lib/cloudmersive-validate-api-client/api/vat_api.rb +6 -6
  42. data/lib/cloudmersive-validate-api-client/api_client.rb +1 -1
  43. data/lib/cloudmersive-validate-api-client/api_error.rb +1 -1
  44. data/lib/cloudmersive-validate-api-client/configuration.rb +1 -1
  45. data/lib/cloudmersive-validate-api-client/models/address_get_servers_response.rb +3 -1
  46. data/lib/cloudmersive-validate-api-client/models/address_verify_syntax_only_response.rb +35 -5
  47. data/lib/cloudmersive-validate-api-client/models/check_response.rb +1 -1
  48. data/lib/cloudmersive-validate-api-client/models/first_name_validation_request.rb +1 -1
  49. data/lib/cloudmersive-validate-api-client/models/first_name_validation_response.rb +1 -1
  50. data/lib/cloudmersive-validate-api-client/models/full_email_validation_response.rb +1 -1
  51. data/lib/cloudmersive-validate-api-client/models/full_name_validation_request.rb +1 -1
  52. data/lib/cloudmersive-validate-api-client/models/full_name_validation_response.rb +1 -1
  53. data/lib/cloudmersive-validate-api-client/models/geolocate_response.rb +1 -1
  54. data/lib/cloudmersive-validate-api-client/models/get_gender_request.rb +1 -1
  55. data/lib/cloudmersive-validate-api-client/models/get_gender_response.rb +1 -1
  56. data/lib/cloudmersive-validate-api-client/models/get_timezones_request.rb +189 -0
  57. data/lib/cloudmersive-validate-api-client/models/get_timezones_response.rb +241 -0
  58. data/lib/cloudmersive-validate-api-client/models/last_name_validation_request.rb +1 -1
  59. data/lib/cloudmersive-validate-api-client/models/last_name_validation_response.rb +1 -1
  60. data/lib/cloudmersive-validate-api-client/models/lead_enrichment_request.rb +319 -0
  61. data/lib/cloudmersive-validate-api-client/models/lead_enrichment_response.rb +359 -0
  62. data/lib/cloudmersive-validate-api-client/models/parse_address_request.rb +1 -1
  63. data/lib/cloudmersive-validate-api-client/models/parse_address_response.rb +18 -8
  64. data/lib/cloudmersive-validate-api-client/models/phone_number_validate_request.rb +1 -1
  65. data/lib/cloudmersive-validate-api-client/models/phone_number_validation_response.rb +1 -1
  66. data/lib/cloudmersive-validate-api-client/models/timezone.rb +209 -0
  67. data/lib/cloudmersive-validate-api-client/models/user_agent_validate_request.rb +1 -1
  68. data/lib/cloudmersive-validate-api-client/models/user_agent_validate_response.rb +1 -1
  69. data/lib/cloudmersive-validate-api-client/models/validate_address_request.rb +239 -0
  70. data/lib/cloudmersive-validate-api-client/models/validate_address_response.rb +209 -0
  71. data/lib/cloudmersive-validate-api-client/models/validate_country_request.rb +189 -0
  72. data/lib/cloudmersive-validate-api-client/models/validate_country_response.rb +241 -0
  73. data/lib/cloudmersive-validate-api-client/models/validate_identifier_request.rb +259 -0
  74. data/lib/cloudmersive-validate-api-client/models/validate_identifier_response.rb +199 -0
  75. data/lib/cloudmersive-validate-api-client/models/validate_url_request_full.rb +2 -1
  76. data/lib/cloudmersive-validate-api-client/models/validate_url_request_syntax_only.rb +2 -1
  77. data/lib/cloudmersive-validate-api-client/models/validate_url_response_full.rb +1 -1
  78. data/lib/cloudmersive-validate-api-client/models/validate_url_response_syntax_only.rb +1 -1
  79. data/lib/cloudmersive-validate-api-client/models/vat_lookup_request.rb +2 -1
  80. data/lib/cloudmersive-validate-api-client/models/vat_lookup_response.rb +80 -5
  81. data/lib/cloudmersive-validate-api-client/models/whois_response.rb +112 -2
  82. data/lib/cloudmersive-validate-api-client/version.rb +2 -2
  83. data/spec/api/address_api_spec.rb +37 -1
  84. data/spec/api/domain_api_spec.rb +3 -3
  85. data/spec/api/email_api_spec.rb +1 -1
  86. data/spec/api/ip_address_api_spec.rb +1 -1
  87. data/spec/api/lead_enrichment_api_spec.rb +47 -0
  88. data/spec/api/name_api_spec.rb +13 -1
  89. data/spec/api/phone_number_api_spec.rb +1 -1
  90. data/spec/api/user_agent_api_spec.rb +1 -1
  91. data/spec/api/vat_api_spec.rb +3 -3
  92. data/spec/api_client_spec.rb +1 -1
  93. data/spec/configuration_spec.rb +1 -1
  94. data/spec/models/address_get_servers_response_spec.rb +1 -1
  95. data/spec/models/address_verify_syntax_only_response_spec.rb +19 -1
  96. data/spec/models/check_response_spec.rb +1 -1
  97. data/spec/models/first_name_validation_request_spec.rb +1 -1
  98. data/spec/models/first_name_validation_response_spec.rb +1 -1
  99. data/spec/models/full_email_validation_response_spec.rb +1 -1
  100. data/spec/models/full_name_validation_request_spec.rb +1 -1
  101. data/spec/models/full_name_validation_response_spec.rb +1 -1
  102. data/spec/models/geolocate_response_spec.rb +1 -1
  103. data/spec/models/get_gender_request_spec.rb +1 -1
  104. data/spec/models/get_gender_response_spec.rb +1 -1
  105. data/spec/models/get_timezones_request_spec.rb +42 -0
  106. data/spec/models/get_timezones_response_spec.rb +72 -0
  107. data/spec/models/last_name_validation_request_spec.rb +1 -1
  108. data/spec/models/last_name_validation_response_spec.rb +1 -1
  109. data/spec/models/lead_enrichment_request_spec.rb +120 -0
  110. data/spec/models/lead_enrichment_response_spec.rb +144 -0
  111. data/spec/models/parse_address_request_spec.rb +1 -1
  112. data/spec/models/parse_address_response_spec.rb +8 -2
  113. data/spec/models/phone_number_validate_request_spec.rb +1 -1
  114. data/spec/models/phone_number_validation_response_spec.rb +1 -1
  115. data/spec/models/timezone_spec.rb +54 -0
  116. data/spec/models/user_agent_validate_request_spec.rb +1 -1
  117. data/spec/models/user_agent_validate_response_spec.rb +1 -1
  118. data/spec/models/validate_address_request_spec.rb +72 -0
  119. data/spec/models/validate_address_response_spec.rb +54 -0
  120. data/spec/models/validate_country_request_spec.rb +42 -0
  121. data/spec/models/validate_country_response_spec.rb +72 -0
  122. data/spec/models/validate_identifier_request_spec.rb +84 -0
  123. data/spec/models/validate_identifier_response_spec.rb +48 -0
  124. data/spec/models/validate_url_request_full_spec.rb +1 -1
  125. data/spec/models/validate_url_request_syntax_only_spec.rb +1 -1
  126. data/spec/models/validate_url_response_full_spec.rb +1 -1
  127. data/spec/models/validate_url_response_syntax_only_spec.rb +1 -1
  128. data/spec/models/vat_lookup_request_spec.rb +1 -1
  129. data/spec/models/vat_lookup_response_spec.rb +43 -1
  130. data/spec/models/whois_response_spec.rb +67 -1
  131. data/spec/spec_helper.rb +1 -1
  132. metadata +51 -16
@@ -0,0 +1,209 @@
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 validating a street address
17
+ class ValidateAddressResponse
18
+ # True if the address is valid, false otherwise
19
+ attr_accessor :valid_address
20
+
21
+ # If the address is valid, the degrees latitude of the validated address, null otherwise
22
+ attr_accessor :latitude
23
+
24
+ # If the address is valid, the degrees longitude of the validated address, null otherwise
25
+ attr_accessor :longitude
26
+
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'valid_address' => :'ValidAddress',
32
+ :'latitude' => :'Latitude',
33
+ :'longitude' => :'Longitude'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.swagger_types
39
+ {
40
+ :'valid_address' => :'BOOLEAN',
41
+ :'latitude' => :'Float',
42
+ :'longitude' => :'Float'
43
+ }
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ return unless attributes.is_a?(Hash)
50
+
51
+ # convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
53
+
54
+ if attributes.has_key?(:'ValidAddress')
55
+ self.valid_address = attributes[:'ValidAddress']
56
+ end
57
+
58
+ if attributes.has_key?(:'Latitude')
59
+ self.latitude = attributes[:'Latitude']
60
+ end
61
+
62
+ if attributes.has_key?(:'Longitude')
63
+ self.longitude = attributes[:'Longitude']
64
+ end
65
+
66
+ end
67
+
68
+ # Show invalid properties with the reasons. Usually used together with valid?
69
+ # @return Array for valid properties with the reasons
70
+ def list_invalid_properties
71
+ invalid_properties = Array.new
72
+ return invalid_properties
73
+ end
74
+
75
+ # Check to see if the all the properties in the model are valid
76
+ # @return true if the model is valid
77
+ def valid?
78
+ return true
79
+ end
80
+
81
+ # Checks equality by comparing each attribute.
82
+ # @param [Object] Object to be compared
83
+ def ==(o)
84
+ return true if self.equal?(o)
85
+ self.class == o.class &&
86
+ valid_address == o.valid_address &&
87
+ latitude == o.latitude &&
88
+ longitude == o.longitude
89
+ end
90
+
91
+ # @see the `==` method
92
+ # @param [Object] Object to be compared
93
+ def eql?(o)
94
+ self == o
95
+ end
96
+
97
+ # Calculates hash code according to all attributes.
98
+ # @return [Fixnum] Hash code
99
+ def hash
100
+ [valid_address, latitude, longitude].hash
101
+ end
102
+
103
+ # Builds the object from hash
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ # @return [Object] Returns the model itself
106
+ def build_from_hash(attributes)
107
+ return nil unless attributes.is_a?(Hash)
108
+ self.class.swagger_types.each_pair do |key, type|
109
+ if type =~ /\AArray<(.*)>/i
110
+ # check to ensure the input is an array given that the the attribute
111
+ # is documented as an array but the input is not
112
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
113
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
114
+ end
115
+ elsif !attributes[self.class.attribute_map[key]].nil?
116
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
117
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
118
+ end
119
+
120
+ self
121
+ end
122
+
123
+ # Deserializes the data based on type
124
+ # @param string type Data type
125
+ # @param string value Value to be deserialized
126
+ # @return [Object] Deserialized data
127
+ def _deserialize(type, value)
128
+ case type.to_sym
129
+ when :DateTime
130
+ DateTime.parse(value)
131
+ when :Date
132
+ Date.parse(value)
133
+ when :String
134
+ value.to_s
135
+ when :Integer
136
+ value.to_i
137
+ when :Float
138
+ value.to_f
139
+ when :BOOLEAN
140
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
141
+ true
142
+ else
143
+ false
144
+ end
145
+ when :Object
146
+ # generic object (usually a Hash), return directly
147
+ value
148
+ when /\AArray<(?<inner_type>.+)>\z/
149
+ inner_type = Regexp.last_match[:inner_type]
150
+ value.map { |v| _deserialize(inner_type, v) }
151
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
152
+ k_type = Regexp.last_match[:k_type]
153
+ v_type = Regexp.last_match[:v_type]
154
+ {}.tap do |hash|
155
+ value.each do |k, v|
156
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
157
+ end
158
+ end
159
+ else # model
160
+ temp_model = CloudmersiveValidateApiClient.const_get(type).new
161
+ temp_model.build_from_hash(value)
162
+ end
163
+ end
164
+
165
+ # Returns the string representation of the object
166
+ # @return [String] String presentation of the object
167
+ def to_s
168
+ to_hash.to_s
169
+ end
170
+
171
+ # to_body is an alias to to_hash (backward compatibility)
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_body
174
+ to_hash
175
+ end
176
+
177
+ # Returns the object in the form of hash
178
+ # @return [Hash] Returns the object in the form of hash
179
+ def to_hash
180
+ hash = {}
181
+ self.class.attribute_map.each_pair do |attr, param|
182
+ value = self.send(attr)
183
+ next if value.nil?
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ # Outputs non-array value in the form of hash
190
+ # For object, use to_hash. Otherwise, just return the value
191
+ # @param [Object] value Any valid value
192
+ # @return [Hash] Returns the value in the form of hash
193
+ def _to_hash(value)
194
+ if value.is_a?(Array)
195
+ value.compact.map{ |v| _to_hash(v) }
196
+ elsif value.is_a?(Hash)
197
+ {}.tap do |hash|
198
+ value.each { |k, v| hash[k] = _to_hash(v) }
199
+ end
200
+ elsif value.respond_to? :to_hash
201
+ value.to_hash
202
+ else
203
+ value
204
+ end
205
+ end
206
+
207
+ end
208
+
209
+ end
@@ -0,0 +1,189 @@
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 parameter to a country validation request
17
+ class ValidateCountryRequest
18
+ # Raw country input - can be a two-letter code (FIPS 10-4 or ISO 3166-1), three-letter code (ISO 3166-1) or country name
19
+ attr_accessor :raw_country_input
20
+
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'raw_country_input' => :'RawCountryInput'
26
+ }
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.swagger_types
31
+ {
32
+ :'raw_country_input' => :'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?(:'RawCountryInput')
45
+ self.raw_country_input = attributes[:'RawCountryInput']
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
+ raw_country_input == o.raw_country_input
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
+ [raw_country_input].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
@@ -0,0 +1,241 @@
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 performing a country validation operation
17
+ class ValidateCountryResponse
18
+ # True if successful, false otherwise
19
+ attr_accessor :successful
20
+
21
+ # Full name of the country
22
+ attr_accessor :country_full_name
23
+
24
+ # Two-letter ISO 3166-1 country code
25
+ attr_accessor :iso_two_letter_code
26
+
27
+ # Two-letter FIPS 10-4 country code
28
+ attr_accessor :fips_two_letter_code
29
+
30
+ # Three-letter ISO 3166-1 country code
31
+ attr_accessor :three_letter_code
32
+
33
+ # Time zones (IANA/Olsen) in the country
34
+ attr_accessor :timezones
35
+
36
+
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ def self.attribute_map
39
+ {
40
+ :'successful' => :'Successful',
41
+ :'country_full_name' => :'CountryFullName',
42
+ :'iso_two_letter_code' => :'ISOTwoLetterCode',
43
+ :'fips_two_letter_code' => :'FIPSTwoLetterCode',
44
+ :'three_letter_code' => :'ThreeLetterCode',
45
+ :'timezones' => :'Timezones'
46
+ }
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.swagger_types
51
+ {
52
+ :'successful' => :'BOOLEAN',
53
+ :'country_full_name' => :'String',
54
+ :'iso_two_letter_code' => :'String',
55
+ :'fips_two_letter_code' => :'String',
56
+ :'three_letter_code' => :'String',
57
+ :'timezones' => :'Array<Timezone>'
58
+ }
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ return unless attributes.is_a?(Hash)
65
+
66
+ # convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
68
+
69
+ if attributes.has_key?(:'Successful')
70
+ self.successful = attributes[:'Successful']
71
+ end
72
+
73
+ if attributes.has_key?(:'CountryFullName')
74
+ self.country_full_name = attributes[:'CountryFullName']
75
+ end
76
+
77
+ if attributes.has_key?(:'ISOTwoLetterCode')
78
+ self.iso_two_letter_code = attributes[:'ISOTwoLetterCode']
79
+ end
80
+
81
+ if attributes.has_key?(:'FIPSTwoLetterCode')
82
+ self.fips_two_letter_code = attributes[:'FIPSTwoLetterCode']
83
+ end
84
+
85
+ if attributes.has_key?(:'ThreeLetterCode')
86
+ self.three_letter_code = attributes[:'ThreeLetterCode']
87
+ end
88
+
89
+ if attributes.has_key?(:'Timezones')
90
+ if (value = attributes[:'Timezones']).is_a?(Array)
91
+ self.timezones = value
92
+ end
93
+ end
94
+
95
+ end
96
+
97
+ # Show invalid properties with the reasons. Usually used together with valid?
98
+ # @return Array for valid properties with the reasons
99
+ def list_invalid_properties
100
+ invalid_properties = Array.new
101
+ return invalid_properties
102
+ end
103
+
104
+ # Check to see if the all the properties in the model are valid
105
+ # @return true if the model is valid
106
+ def valid?
107
+ return true
108
+ end
109
+
110
+ # Checks equality by comparing each attribute.
111
+ # @param [Object] Object to be compared
112
+ def ==(o)
113
+ return true if self.equal?(o)
114
+ self.class == o.class &&
115
+ successful == o.successful &&
116
+ country_full_name == o.country_full_name &&
117
+ iso_two_letter_code == o.iso_two_letter_code &&
118
+ fips_two_letter_code == o.fips_two_letter_code &&
119
+ three_letter_code == o.three_letter_code &&
120
+ timezones == o.timezones
121
+ end
122
+
123
+ # @see the `==` method
124
+ # @param [Object] Object to be compared
125
+ def eql?(o)
126
+ self == o
127
+ end
128
+
129
+ # Calculates hash code according to all attributes.
130
+ # @return [Fixnum] Hash code
131
+ def hash
132
+ [successful, country_full_name, iso_two_letter_code, fips_two_letter_code, three_letter_code, timezones].hash
133
+ end
134
+
135
+ # Builds the object from hash
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ # @return [Object] Returns the model itself
138
+ def build_from_hash(attributes)
139
+ return nil unless attributes.is_a?(Hash)
140
+ self.class.swagger_types.each_pair do |key, type|
141
+ if type =~ /\AArray<(.*)>/i
142
+ # check to ensure the input is an array given that the the attribute
143
+ # is documented as an array but the input is not
144
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
145
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
146
+ end
147
+ elsif !attributes[self.class.attribute_map[key]].nil?
148
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
149
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
150
+ end
151
+
152
+ self
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 _deserialize(type, value)
160
+ case type.to_sym
161
+ when :DateTime
162
+ DateTime.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
+ temp_model = CloudmersiveValidateApiClient.const_get(type).new
193
+ temp_model.build_from_hash(value)
194
+ end
195
+ end
196
+
197
+ # Returns the string representation of the object
198
+ # @return [String] String presentation of the object
199
+ def to_s
200
+ to_hash.to_s
201
+ end
202
+
203
+ # to_body is an alias to to_hash (backward compatibility)
204
+ # @return [Hash] Returns the object in the form of hash
205
+ def to_body
206
+ to_hash
207
+ end
208
+
209
+ # Returns the object in the form of hash
210
+ # @return [Hash] Returns the object in the form of hash
211
+ def to_hash
212
+ hash = {}
213
+ self.class.attribute_map.each_pair do |attr, param|
214
+ value = self.send(attr)
215
+ next if value.nil?
216
+ hash[param] = _to_hash(value)
217
+ end
218
+ hash
219
+ end
220
+
221
+ # Outputs non-array value in the form of hash
222
+ # For object, use to_hash. Otherwise, just return the value
223
+ # @param [Object] value Any valid value
224
+ # @return [Hash] Returns the value in the form of hash
225
+ def _to_hash(value)
226
+ if value.is_a?(Array)
227
+ value.compact.map{ |v| _to_hash(v) }
228
+ elsif value.is_a?(Hash)
229
+ {}.tap do |hash|
230
+ value.each { |k, v| hash[k] = _to_hash(v) }
231
+ end
232
+ elsif value.respond_to? :to_hash
233
+ value.to_hash
234
+ else
235
+ value
236
+ end
237
+ end
238
+
239
+ end
240
+
241
+ end