whoisfreaks 0.2.0

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 (257) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +229 -0
  5. data/Rakefile +10 -0
  6. data/docs/ASNWHOISApi.md +85 -0
  7. data/docs/AccountApi.md +213 -0
  8. data/docs/AccountUsageResponse.md +22 -0
  9. data/docs/AccountUsageResponseApiCredits.md +20 -0
  10. data/docs/AccountUsageResponseApiSubscription.md +26 -0
  11. data/docs/AsnWhoisResponse.md +28 -0
  12. data/docs/AsnWhoisResponseAutNumsInner.md +26 -0
  13. data/docs/AsnWhoisResponseOrganization.md +24 -0
  14. data/docs/BulkDomainAvailabilityRequest.md +20 -0
  15. data/docs/BulkDomainAvailabilityV2Item.md +22 -0
  16. data/docs/BulkDomainAvailabilityV2Response.md +18 -0
  17. data/docs/BulkGeolocationRequest.md +18 -0
  18. data/docs/BulkWhois200Response.md +18 -0
  19. data/docs/BulkWhoisRequest.md +18 -0
  20. data/docs/Contact.md +38 -0
  21. data/docs/DNSApi.md +335 -0
  22. data/docs/DatabaseFileStatus.md +24 -0
  23. data/docs/DatabaseFileStatusNewlyValue.md +20 -0
  24. data/docs/DatabasesASNWHOISApi.md +153 -0
  25. data/docs/DatabasesDNSApi.md +235 -0
  26. data/docs/DatabasesExpiringDroppedApi.md +395 -0
  27. data/docs/DatabasesIPGeolocationApi.md +299 -0
  28. data/docs/DatabasesIPSecurityApi.md +153 -0
  29. data/docs/DatabasesIPWHOISApi.md +153 -0
  30. data/docs/DatabasesNewlyRegisteredApi.md +551 -0
  31. data/docs/DatabasesSubdomainsApi.md +235 -0
  32. data/docs/DatabasesWHOISApi.md +235 -0
  33. data/docs/DnsBulk200Response.md +18 -0
  34. data/docs/DnsBulkRequest.md +20 -0
  35. data/docs/DnsRecord.md +34 -0
  36. data/docs/DnsResponse.md +26 -0
  37. data/docs/DomainAvailabilityApi.md +169 -0
  38. data/docs/DomainAvailabilityV2Item.md +20 -0
  39. data/docs/DomainAvailabilityV2Response.md +18 -0
  40. data/docs/DomainReputationApi.md +85 -0
  41. data/docs/DomainReputationDgaFeatures.md +30 -0
  42. data/docs/DomainReputationDgaScore.md +26 -0
  43. data/docs/DomainReputationEvidenceSummary.md +18 -0
  44. data/docs/DomainReputationIndicators.md +34 -0
  45. data/docs/DomainReputationInput.md +18 -0
  46. data/docs/DomainReputationIntelligence.md +32 -0
  47. data/docs/DomainReputationPivotMatch.md +24 -0
  48. data/docs/DomainReputationRelatedIoc.md +22 -0
  49. data/docs/DomainReputationResponse.md +36 -0
  50. data/docs/DomainReputationRiskCategory.md +30 -0
  51. data/docs/DomainReputationSignal.md +28 -0
  52. data/docs/DomainReputationSignals.md +22 -0
  53. data/docs/DomainReputationTrustSignals.md +24 -0
  54. data/docs/ErrorResponse.md +26 -0
  55. data/docs/GeolocationApi.md +155 -0
  56. data/docs/GeolocationAsn.md +26 -0
  57. data/docs/GeolocationLocation.md +38 -0
  58. data/docs/GeolocationResponse.md +24 -0
  59. data/docs/GeolocationResponseCurrency.md +22 -0
  60. data/docs/GeolocationResponseNetwork.md +18 -0
  61. data/docs/HistoricalDnsResponse.md +24 -0
  62. data/docs/IPReputationApi.md +155 -0
  63. data/docs/IPWHOISApi.md +85 -0
  64. data/docs/IpReputationResponse.md +24 -0
  65. data/docs/IpReputationSecurity.md +42 -0
  66. data/docs/IpWhoisResponse.md +30 -0
  67. data/docs/IpWhoisResponseAbuseContactsInner.md +22 -0
  68. data/docs/IpWhoisResponseInetNumsInner.md +28 -0
  69. data/docs/IpWhoisResponseOrganization.md +26 -0
  70. data/docs/Registrar.md +30 -0
  71. data/docs/ReverseDnsResponse.md +24 -0
  72. data/docs/ReverseWhoisResponse.md +24 -0
  73. data/docs/SSLApi.md +89 -0
  74. data/docs/SnapshotStatus.md +26 -0
  75. data/docs/SslCertificate.md +34 -0
  76. data/docs/SslResponse.md +22 -0
  77. data/docs/Subdomain.md +24 -0
  78. data/docs/SubdomainsApi.md +93 -0
  79. data/docs/SubdomainsResponse.md +30 -0
  80. data/docs/TyposquattingApi.md +87 -0
  81. data/docs/TyposquattingDomain.md +26 -0
  82. data/docs/TyposquattingResponse.md +30 -0
  83. data/docs/WHOISApi.md +257 -0
  84. data/docs/WhoisHistoricalOrReverse200Response.md +49 -0
  85. data/docs/WhoisHistoricalResponse.md +24 -0
  86. data/docs/WhoisResponse.md +50 -0
  87. data/git_push.sh +57 -0
  88. data/lib/whoisfreaks/api/account_api.rb +207 -0
  89. data/lib/whoisfreaks/api/asnwhois_api.rb +100 -0
  90. data/lib/whoisfreaks/api/databases_asnwhois_api.rb +157 -0
  91. data/lib/whoisfreaks/api/databases_dns_api.rb +223 -0
  92. data/lib/whoisfreaks/api/databases_expiring_dropped_api.rb +377 -0
  93. data/lib/whoisfreaks/api/databases_ip_geolocation_api.rb +292 -0
  94. data/lib/whoisfreaks/api/databases_ip_security_api.rb +157 -0
  95. data/lib/whoisfreaks/api/databases_ipwhois_api.rb +157 -0
  96. data/lib/whoisfreaks/api/databases_newly_registered_api.rb +517 -0
  97. data/lib/whoisfreaks/api/databases_subdomains_api.rb +223 -0
  98. data/lib/whoisfreaks/api/databases_whois_api.rb +223 -0
  99. data/lib/whoisfreaks/api/dns_api.rb +379 -0
  100. data/lib/whoisfreaks/api/domain_availability_api.rb +199 -0
  101. data/lib/whoisfreaks/api/domain_reputation_api.rb +100 -0
  102. data/lib/whoisfreaks/api/geolocation_api.rb +168 -0
  103. data/lib/whoisfreaks/api/ip_reputation_api.rb +168 -0
  104. data/lib/whoisfreaks/api/ipwhois_api.rb +100 -0
  105. data/lib/whoisfreaks/api/ssl_api.rb +106 -0
  106. data/lib/whoisfreaks/api/subdomains_api.rb +116 -0
  107. data/lib/whoisfreaks/api/typosquatting_api.rb +95 -0
  108. data/lib/whoisfreaks/api/whois_api.rb +293 -0
  109. data/lib/whoisfreaks/api_client.rb +437 -0
  110. data/lib/whoisfreaks/api_error.rb +58 -0
  111. data/lib/whoisfreaks/configuration.rb +588 -0
  112. data/lib/whoisfreaks/models/account_usage_response.rb +232 -0
  113. data/lib/whoisfreaks/models/account_usage_response_api_credits.rb +223 -0
  114. data/lib/whoisfreaks/models/account_usage_response_api_subscription.rb +250 -0
  115. data/lib/whoisfreaks/models/asn_whois_response.rb +261 -0
  116. data/lib/whoisfreaks/models/asn_whois_response_aut_nums_inner.rb +252 -0
  117. data/lib/whoisfreaks/models/asn_whois_response_organization.rb +243 -0
  118. data/lib/whoisfreaks/models/bulk_domain_availability_request.rb +268 -0
  119. data/lib/whoisfreaks/models/bulk_domain_availability_v2_item.rb +268 -0
  120. data/lib/whoisfreaks/models/bulk_domain_availability_v2_response.rb +217 -0
  121. data/lib/whoisfreaks/models/bulk_geolocation_request.rb +242 -0
  122. data/lib/whoisfreaks/models/bulk_whois200_response.rb +216 -0
  123. data/lib/whoisfreaks/models/bulk_whois_request.rb +242 -0
  124. data/lib/whoisfreaks/models/contact.rb +304 -0
  125. data/lib/whoisfreaks/models/database_file_status.rb +243 -0
  126. data/lib/whoisfreaks/models/database_file_status_newly_value.rb +223 -0
  127. data/lib/whoisfreaks/models/dns_bulk200_response.rb +216 -0
  128. data/lib/whoisfreaks/models/dns_bulk_request.rb +227 -0
  129. data/lib/whoisfreaks/models/dns_record.rb +286 -0
  130. data/lib/whoisfreaks/models/dns_response.rb +254 -0
  131. data/lib/whoisfreaks/models/domain_availability_v2_item.rb +260 -0
  132. data/lib/whoisfreaks/models/domain_availability_v2_response.rb +217 -0
  133. data/lib/whoisfreaks/models/domain_reputation_dga_features.rb +268 -0
  134. data/lib/whoisfreaks/models/domain_reputation_dga_score.rb +312 -0
  135. data/lib/whoisfreaks/models/domain_reputation_evidence_summary.rb +216 -0
  136. data/lib/whoisfreaks/models/domain_reputation_indicators.rb +286 -0
  137. data/lib/whoisfreaks/models/domain_reputation_input.rb +215 -0
  138. data/lib/whoisfreaks/models/domain_reputation_intelligence.rb +317 -0
  139. data/lib/whoisfreaks/models/domain_reputation_pivot_match.rb +304 -0
  140. data/lib/whoisfreaks/models/domain_reputation_related_ioc.rb +294 -0
  141. data/lib/whoisfreaks/models/domain_reputation_response.rb +297 -0
  142. data/lib/whoisfreaks/models/domain_reputation_risk_category.rb +349 -0
  143. data/lib/whoisfreaks/models/domain_reputation_signal.rb +333 -0
  144. data/lib/whoisfreaks/models/domain_reputation_signals.rb +238 -0
  145. data/lib/whoisfreaks/models/domain_reputation_trust_signals.rb +303 -0
  146. data/lib/whoisfreaks/models/error_response.rb +250 -0
  147. data/lib/whoisfreaks/models/geolocation_asn.rb +250 -0
  148. data/lib/whoisfreaks/models/geolocation_location.rb +304 -0
  149. data/lib/whoisfreaks/models/geolocation_response.rb +241 -0
  150. data/lib/whoisfreaks/models/geolocation_response_currency.rb +232 -0
  151. data/lib/whoisfreaks/models/geolocation_response_network.rb +214 -0
  152. data/lib/whoisfreaks/models/historical_dns_response.rb +243 -0
  153. data/lib/whoisfreaks/models/ip_reputation_response.rb +241 -0
  154. data/lib/whoisfreaks/models/ip_reputation_security.rb +322 -0
  155. data/lib/whoisfreaks/models/ip_whois_response.rb +272 -0
  156. data/lib/whoisfreaks/models/ip_whois_response_abuse_contacts_inner.rb +234 -0
  157. data/lib/whoisfreaks/models/ip_whois_response_inet_nums_inner.rb +261 -0
  158. data/lib/whoisfreaks/models/ip_whois_response_organization.rb +252 -0
  159. data/lib/whoisfreaks/models/registrar.rb +268 -0
  160. data/lib/whoisfreaks/models/reverse_dns_response.rb +243 -0
  161. data/lib/whoisfreaks/models/reverse_whois_response.rb +243 -0
  162. data/lib/whoisfreaks/models/snapshot_status.rb +250 -0
  163. data/lib/whoisfreaks/models/ssl_certificate.rb +320 -0
  164. data/lib/whoisfreaks/models/ssl_response.rb +234 -0
  165. data/lib/whoisfreaks/models/subdomain.rb +241 -0
  166. data/lib/whoisfreaks/models/subdomains_response.rb +270 -0
  167. data/lib/whoisfreaks/models/typosquatting_domain.rb +250 -0
  168. data/lib/whoisfreaks/models/typosquatting_response.rb +270 -0
  169. data/lib/whoisfreaks/models/whois_historical_or_reverse200_response.rb +105 -0
  170. data/lib/whoisfreaks/models/whois_historical_response.rb +277 -0
  171. data/lib/whoisfreaks/models/whois_response.rb +362 -0
  172. data/lib/whoisfreaks/version.rb +15 -0
  173. data/lib/whoisfreaks.rb +120 -0
  174. data/spec/api/account_api_spec.rb +70 -0
  175. data/spec/api/asnwhois_api_spec.rb +49 -0
  176. data/spec/api/databases_asnwhois_api_spec.rb +60 -0
  177. data/spec/api/databases_dns_api_spec.rb +74 -0
  178. data/spec/api/databases_expiring_dropped_api_spec.rb +104 -0
  179. data/spec/api/databases_ip_geolocation_api_spec.rb +85 -0
  180. data/spec/api/databases_ip_security_api_spec.rb +60 -0
  181. data/spec/api/databases_ipwhois_api_spec.rb +60 -0
  182. data/spec/api/databases_newly_registered_api_spec.rb +132 -0
  183. data/spec/api/databases_subdomains_api_spec.rb +74 -0
  184. data/spec/api/databases_whois_api_spec.rb +74 -0
  185. data/spec/api/dns_api_spec.rb +99 -0
  186. data/spec/api/domain_availability_api_spec.rb +66 -0
  187. data/spec/api/domain_reputation_api_spec.rb +49 -0
  188. data/spec/api/geolocation_api_spec.rb +61 -0
  189. data/spec/api/ip_reputation_api_spec.rb +61 -0
  190. data/spec/api/ipwhois_api_spec.rb +49 -0
  191. data/spec/api/ssl_api_spec.rb +51 -0
  192. data/spec/api/subdomains_api_spec.rb +53 -0
  193. data/spec/api/typosquatting_api_spec.rb +50 -0
  194. data/spec/api/whois_api_spec.rb +85 -0
  195. data/spec/models/account_usage_response_api_credits_spec.rb +42 -0
  196. data/spec/models/account_usage_response_api_subscription_spec.rb +60 -0
  197. data/spec/models/account_usage_response_spec.rb +48 -0
  198. data/spec/models/asn_whois_response_aut_nums_inner_spec.rb +60 -0
  199. data/spec/models/asn_whois_response_organization_spec.rb +54 -0
  200. data/spec/models/asn_whois_response_spec.rb +66 -0
  201. data/spec/models/bulk_domain_availability_request_spec.rb +42 -0
  202. data/spec/models/bulk_domain_availability_v2_item_spec.rb +52 -0
  203. data/spec/models/bulk_domain_availability_v2_response_spec.rb +36 -0
  204. data/spec/models/bulk_geolocation_request_spec.rb +36 -0
  205. data/spec/models/bulk_whois200_response_spec.rb +36 -0
  206. data/spec/models/bulk_whois_request_spec.rb +36 -0
  207. data/spec/models/contact_spec.rb +96 -0
  208. data/spec/models/database_file_status_newly_value_spec.rb +42 -0
  209. data/spec/models/database_file_status_spec.rb +54 -0
  210. data/spec/models/dns_bulk200_response_spec.rb +36 -0
  211. data/spec/models/dns_bulk_request_spec.rb +42 -0
  212. data/spec/models/dns_record_spec.rb +84 -0
  213. data/spec/models/dns_response_spec.rb +60 -0
  214. data/spec/models/domain_availability_v2_item_spec.rb +46 -0
  215. data/spec/models/domain_availability_v2_response_spec.rb +36 -0
  216. data/spec/models/domain_reputation_dga_features_spec.rb +72 -0
  217. data/spec/models/domain_reputation_dga_score_spec.rb +64 -0
  218. data/spec/models/domain_reputation_evidence_summary_spec.rb +36 -0
  219. data/spec/models/domain_reputation_indicators_spec.rb +84 -0
  220. data/spec/models/domain_reputation_input_spec.rb +36 -0
  221. data/spec/models/domain_reputation_intelligence_spec.rb +82 -0
  222. data/spec/models/domain_reputation_pivot_match_spec.rb +58 -0
  223. data/spec/models/domain_reputation_related_ioc_spec.rb +52 -0
  224. data/spec/models/domain_reputation_response_spec.rb +90 -0
  225. data/spec/models/domain_reputation_risk_category_spec.rb +80 -0
  226. data/spec/models/domain_reputation_signal_spec.rb +74 -0
  227. data/spec/models/domain_reputation_signals_spec.rb +48 -0
  228. data/spec/models/domain_reputation_trust_signals_spec.rb +58 -0
  229. data/spec/models/error_response_spec.rb +60 -0
  230. data/spec/models/geolocation_asn_spec.rb +60 -0
  231. data/spec/models/geolocation_location_spec.rb +96 -0
  232. data/spec/models/geolocation_response_currency_spec.rb +48 -0
  233. data/spec/models/geolocation_response_network_spec.rb +36 -0
  234. data/spec/models/geolocation_response_spec.rb +54 -0
  235. data/spec/models/historical_dns_response_spec.rb +54 -0
  236. data/spec/models/ip_reputation_response_spec.rb +54 -0
  237. data/spec/models/ip_reputation_security_spec.rb +108 -0
  238. data/spec/models/ip_whois_response_abuse_contacts_inner_spec.rb +48 -0
  239. data/spec/models/ip_whois_response_inet_nums_inner_spec.rb +66 -0
  240. data/spec/models/ip_whois_response_organization_spec.rb +60 -0
  241. data/spec/models/ip_whois_response_spec.rb +72 -0
  242. data/spec/models/registrar_spec.rb +72 -0
  243. data/spec/models/reverse_dns_response_spec.rb +54 -0
  244. data/spec/models/reverse_whois_response_spec.rb +54 -0
  245. data/spec/models/snapshot_status_spec.rb +60 -0
  246. data/spec/models/ssl_certificate_spec.rb +88 -0
  247. data/spec/models/ssl_response_spec.rb +48 -0
  248. data/spec/models/subdomain_spec.rb +54 -0
  249. data/spec/models/subdomains_response_spec.rb +72 -0
  250. data/spec/models/typosquatting_domain_spec.rb +60 -0
  251. data/spec/models/typosquatting_response_spec.rb +72 -0
  252. data/spec/models/whois_historical_or_reverse200_response_spec.rb +32 -0
  253. data/spec/models/whois_historical_response_spec.rb +58 -0
  254. data/spec/models/whois_response_spec.rb +132 -0
  255. data/spec/spec_helper.rb +111 -0
  256. data/whoisfreaks.gemspec +41 -0
  257. metadata +451 -0
@@ -0,0 +1,250 @@
1
+ =begin
2
+ #WhoisFreaks API
3
+
4
+ #Complete WhoisFreaks API — WHOIS, DNS, SSL, Geolocation, Typosquatting, IP Intelligence, Domain Reputation, and bulk database downloads. ## Authentication All requests require an `apiKey` query parameter. ## Resources - Docs: https://whoisfreaks.com/documentation - Billing: https://billing.whoisfreaks.com - Support: support@whoisfreaks.com
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@whoisfreaks.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.11.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module WhoisFreaks
17
+ class SnapshotStatus
18
+ attr_accessor :snapshot_name
19
+
20
+ attr_accessor :snapshot_creation_date
21
+
22
+ attr_accessor :message
23
+
24
+ attr_accessor :snapshot_deletion_time
25
+
26
+ attr_accessor :status
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'snapshot_name' => :'snapshot_name',
32
+ :'snapshot_creation_date' => :'snapshot_creation_date',
33
+ :'message' => :'message',
34
+ :'snapshot_deletion_time' => :'snapshot_deletion_time',
35
+ :'status' => :'status'
36
+ }
37
+ end
38
+
39
+ # Returns all the JSON keys this model knows about
40
+ def self.acceptable_attributes
41
+ attribute_map.values
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ def self.openapi_types
46
+ {
47
+ :'snapshot_name' => :'String',
48
+ :'snapshot_creation_date' => :'String',
49
+ :'message' => :'String',
50
+ :'snapshot_deletion_time' => :'String',
51
+ :'status' => :'String'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ ])
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `WhoisFreaks::SnapshotStatus` initialize method"
66
+ end
67
+
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}) { |(k, v), h|
70
+ if (!self.class.attribute_map.key?(k.to_sym))
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `WhoisFreaks::SnapshotStatus`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
+ end
73
+ h[k.to_sym] = v
74
+ }
75
+
76
+ if attributes.key?(:'snapshot_name')
77
+ self.snapshot_name = attributes[:'snapshot_name']
78
+ end
79
+
80
+ if attributes.key?(:'snapshot_creation_date')
81
+ self.snapshot_creation_date = attributes[:'snapshot_creation_date']
82
+ end
83
+
84
+ if attributes.key?(:'message')
85
+ self.message = attributes[:'message']
86
+ end
87
+
88
+ if attributes.key?(:'snapshot_deletion_time')
89
+ self.snapshot_deletion_time = attributes[:'snapshot_deletion_time']
90
+ end
91
+
92
+ if attributes.key?(:'status')
93
+ self.status = attributes[:'status']
94
+ end
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
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
101
+ invalid_properties = Array.new
102
+ invalid_properties
103
+ end
104
+
105
+ # Check to see if the all the properties in the model are valid
106
+ # @return true if the model is valid
107
+ def valid?
108
+ warn '[DEPRECATED] the `valid?` method is obsolete'
109
+ true
110
+ end
111
+
112
+ # Checks equality by comparing each attribute.
113
+ # @param [Object] Object to be compared
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ snapshot_name == o.snapshot_name &&
118
+ snapshot_creation_date == o.snapshot_creation_date &&
119
+ message == o.message &&
120
+ snapshot_deletion_time == o.snapshot_deletion_time &&
121
+ status == o.status
122
+ end
123
+
124
+ # @see the `==` method
125
+ # @param [Object] Object to be compared
126
+ def eql?(o)
127
+ self == o
128
+ end
129
+
130
+ # Calculates hash code according to all attributes.
131
+ # @return [Integer] Hash code
132
+ def hash
133
+ [snapshot_name, snapshot_creation_date, message, snapshot_deletion_time, status].hash
134
+ end
135
+
136
+ # Builds the object from hash
137
+ # @param [Hash] attributes Model attributes in the form of hash
138
+ # @return [Object] Returns the model itself
139
+ def self.build_from_hash(attributes)
140
+ return nil unless attributes.is_a?(Hash)
141
+ attributes = attributes.transform_keys(&:to_sym)
142
+ transformed_hash = {}
143
+ openapi_types.each_pair do |key, type|
144
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
145
+ transformed_hash["#{key}"] = nil
146
+ elsif type =~ /\AArray<(.*)>/i
147
+ # check to ensure the input is an array given that the attribute
148
+ # is documented as an array but the input is not
149
+ if attributes[attribute_map[key]].is_a?(Array)
150
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
151
+ end
152
+ elsif !attributes[attribute_map[key]].nil?
153
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
154
+ end
155
+ end
156
+ new(transformed_hash)
157
+ end
158
+
159
+ # Deserializes the data based on type
160
+ # @param string type Data type
161
+ # @param string value Value to be deserialized
162
+ # @return [Object] Deserialized data
163
+ def self._deserialize(type, value)
164
+ case type.to_sym
165
+ when :Time
166
+ Time.parse(value)
167
+ when :Date
168
+ Date.parse(value)
169
+ when :String
170
+ value.to_s
171
+ when :Integer
172
+ value.to_i
173
+ when :Float
174
+ value.to_f
175
+ when :Boolean
176
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
177
+ true
178
+ else
179
+ false
180
+ end
181
+ when :Object
182
+ # generic object (usually a Hash), return directly
183
+ value
184
+ when /\AArray<(?<inner_type>.+)>\z/
185
+ inner_type = Regexp.last_match[:inner_type]
186
+ value.map { |v| _deserialize(inner_type, v) }
187
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
188
+ k_type = Regexp.last_match[:k_type]
189
+ v_type = Regexp.last_match[:v_type]
190
+ {}.tap do |hash|
191
+ value.each do |k, v|
192
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
193
+ end
194
+ end
195
+ else # model
196
+ # models (e.g. Pet) or oneOf
197
+ klass = WhoisFreaks.const_get(type)
198
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
199
+ end
200
+ end
201
+
202
+ # Returns the string representation of the object
203
+ # @return [String] String presentation of the object
204
+ def to_s
205
+ to_hash.to_s
206
+ end
207
+
208
+ # to_body is an alias to to_hash (backward compatibility)
209
+ # @return [Hash] Returns the object in the form of hash
210
+ def to_body
211
+ to_hash
212
+ end
213
+
214
+ # Returns the object in the form of hash
215
+ # @return [Hash] Returns the object in the form of hash
216
+ def to_hash
217
+ hash = {}
218
+ self.class.attribute_map.each_pair do |attr, param|
219
+ value = self.send(attr)
220
+ if value.nil?
221
+ is_nullable = self.class.openapi_nullable.include?(attr)
222
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
223
+ end
224
+
225
+ hash[param] = _to_hash(value)
226
+ end
227
+ hash
228
+ end
229
+
230
+ # Outputs non-array value in the form of hash
231
+ # For object, use to_hash. Otherwise, just return the value
232
+ # @param [Object] value Any valid value
233
+ # @return [Hash] Returns the value in the form of hash
234
+ def _to_hash(value)
235
+ if value.is_a?(Array)
236
+ value.compact.map { |v| _to_hash(v) }
237
+ elsif value.is_a?(Hash)
238
+ {}.tap do |hash|
239
+ value.each { |k, v| hash[k] = _to_hash(v) }
240
+ end
241
+ elsif value.respond_to? :to_hash
242
+ value.to_hash
243
+ else
244
+ value
245
+ end
246
+ end
247
+
248
+ end
249
+
250
+ end
@@ -0,0 +1,320 @@
1
+ =begin
2
+ #WhoisFreaks API
3
+
4
+ #Complete WhoisFreaks API — WHOIS, DNS, SSL, Geolocation, Typosquatting, IP Intelligence, Domain Reputation, and bulk database downloads. ## Authentication All requests require an `apiKey` query parameter. ## Resources - Docs: https://whoisfreaks.com/documentation - Billing: https://billing.whoisfreaks.com - Support: support@whoisfreaks.com
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@whoisfreaks.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.11.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module WhoisFreaks
17
+ class SslCertificate
18
+ attr_accessor :chain_order
19
+
20
+ attr_accessor :authentication_type
21
+
22
+ attr_accessor :validity_start_date
23
+
24
+ attr_accessor :validity_end_date
25
+
26
+ attr_accessor :serial_number
27
+
28
+ attr_accessor :signature_algorithm
29
+
30
+ attr_accessor :subject
31
+
32
+ attr_accessor :issuer
33
+
34
+ attr_accessor :public_key
35
+
36
+ class EnumAttributeValidator
37
+ attr_reader :datatype
38
+ attr_reader :allowable_values
39
+
40
+ def initialize(datatype, allowable_values)
41
+ @allowable_values = allowable_values.map do |value|
42
+ case datatype.to_s
43
+ when /Integer/i
44
+ value.to_i
45
+ when /Float/i
46
+ value.to_f
47
+ else
48
+ value
49
+ end
50
+ end
51
+ end
52
+
53
+ def valid?(value)
54
+ !value || allowable_values.include?(value)
55
+ end
56
+ end
57
+
58
+ # Attribute mapping from ruby-style variable name to JSON key.
59
+ def self.attribute_map
60
+ {
61
+ :'chain_order' => :'chainOrder',
62
+ :'authentication_type' => :'authenticationType',
63
+ :'validity_start_date' => :'validityStartDate',
64
+ :'validity_end_date' => :'validityEndDate',
65
+ :'serial_number' => :'serialNumber',
66
+ :'signature_algorithm' => :'signatureAlgorithm',
67
+ :'subject' => :'subject',
68
+ :'issuer' => :'issuer',
69
+ :'public_key' => :'publicKey'
70
+ }
71
+ end
72
+
73
+ # Returns all the JSON keys this model knows about
74
+ def self.acceptable_attributes
75
+ attribute_map.values
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.openapi_types
80
+ {
81
+ :'chain_order' => :'String',
82
+ :'authentication_type' => :'String',
83
+ :'validity_start_date' => :'String',
84
+ :'validity_end_date' => :'String',
85
+ :'serial_number' => :'String',
86
+ :'signature_algorithm' => :'String',
87
+ :'subject' => :'Object',
88
+ :'issuer' => :'Object',
89
+ :'public_key' => :'Object'
90
+ }
91
+ end
92
+
93
+ # List of attributes with nullable: true
94
+ def self.openapi_nullable
95
+ Set.new([
96
+ ])
97
+ end
98
+
99
+ # Initializes the object
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ def initialize(attributes = {})
102
+ if (!attributes.is_a?(Hash))
103
+ fail ArgumentError, "The input argument (attributes) must be a hash in `WhoisFreaks::SslCertificate` initialize method"
104
+ end
105
+
106
+ # check to see if the attribute exists and convert string to symbol for hash key
107
+ attributes = attributes.each_with_object({}) { |(k, v), h|
108
+ if (!self.class.attribute_map.key?(k.to_sym))
109
+ fail ArgumentError, "`#{k}` is not a valid attribute in `WhoisFreaks::SslCertificate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
110
+ end
111
+ h[k.to_sym] = v
112
+ }
113
+
114
+ if attributes.key?(:'chain_order')
115
+ self.chain_order = attributes[:'chain_order']
116
+ end
117
+
118
+ if attributes.key?(:'authentication_type')
119
+ self.authentication_type = attributes[:'authentication_type']
120
+ end
121
+
122
+ if attributes.key?(:'validity_start_date')
123
+ self.validity_start_date = attributes[:'validity_start_date']
124
+ end
125
+
126
+ if attributes.key?(:'validity_end_date')
127
+ self.validity_end_date = attributes[:'validity_end_date']
128
+ end
129
+
130
+ if attributes.key?(:'serial_number')
131
+ self.serial_number = attributes[:'serial_number']
132
+ end
133
+
134
+ if attributes.key?(:'signature_algorithm')
135
+ self.signature_algorithm = attributes[:'signature_algorithm']
136
+ end
137
+
138
+ if attributes.key?(:'subject')
139
+ self.subject = attributes[:'subject']
140
+ end
141
+
142
+ if attributes.key?(:'issuer')
143
+ self.issuer = attributes[:'issuer']
144
+ end
145
+
146
+ if attributes.key?(:'public_key')
147
+ self.public_key = attributes[:'public_key']
148
+ end
149
+ end
150
+
151
+ # Show invalid properties with the reasons. Usually used together with valid?
152
+ # @return Array for valid properties with the reasons
153
+ def list_invalid_properties
154
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
155
+ invalid_properties = Array.new
156
+ invalid_properties
157
+ end
158
+
159
+ # Check to see if the all the properties in the model are valid
160
+ # @return true if the model is valid
161
+ def valid?
162
+ warn '[DEPRECATED] the `valid?` method is obsolete'
163
+ chain_order_validator = EnumAttributeValidator.new('String', ["end-user", "intermediate", "root"])
164
+ return false unless chain_order_validator.valid?(@chain_order)
165
+ true
166
+ end
167
+
168
+ # Custom attribute writer method checking allowed values (enum).
169
+ # @param [Object] chain_order Object to be assigned
170
+ def chain_order=(chain_order)
171
+ validator = EnumAttributeValidator.new('String', ["end-user", "intermediate", "root"])
172
+ unless validator.valid?(chain_order)
173
+ fail ArgumentError, "invalid value for \"chain_order\", must be one of #{validator.allowable_values}."
174
+ end
175
+ @chain_order = chain_order
176
+ end
177
+
178
+ # Checks equality by comparing each attribute.
179
+ # @param [Object] Object to be compared
180
+ def ==(o)
181
+ return true if self.equal?(o)
182
+ self.class == o.class &&
183
+ chain_order == o.chain_order &&
184
+ authentication_type == o.authentication_type &&
185
+ validity_start_date == o.validity_start_date &&
186
+ validity_end_date == o.validity_end_date &&
187
+ serial_number == o.serial_number &&
188
+ signature_algorithm == o.signature_algorithm &&
189
+ subject == o.subject &&
190
+ issuer == o.issuer &&
191
+ public_key == o.public_key
192
+ end
193
+
194
+ # @see the `==` method
195
+ # @param [Object] Object to be compared
196
+ def eql?(o)
197
+ self == o
198
+ end
199
+
200
+ # Calculates hash code according to all attributes.
201
+ # @return [Integer] Hash code
202
+ def hash
203
+ [chain_order, authentication_type, validity_start_date, validity_end_date, serial_number, signature_algorithm, subject, issuer, public_key].hash
204
+ end
205
+
206
+ # Builds the object from hash
207
+ # @param [Hash] attributes Model attributes in the form of hash
208
+ # @return [Object] Returns the model itself
209
+ def self.build_from_hash(attributes)
210
+ return nil unless attributes.is_a?(Hash)
211
+ attributes = attributes.transform_keys(&:to_sym)
212
+ transformed_hash = {}
213
+ openapi_types.each_pair do |key, type|
214
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
215
+ transformed_hash["#{key}"] = nil
216
+ elsif type =~ /\AArray<(.*)>/i
217
+ # check to ensure the input is an array given that the attribute
218
+ # is documented as an array but the input is not
219
+ if attributes[attribute_map[key]].is_a?(Array)
220
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
221
+ end
222
+ elsif !attributes[attribute_map[key]].nil?
223
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
224
+ end
225
+ end
226
+ new(transformed_hash)
227
+ end
228
+
229
+ # Deserializes the data based on type
230
+ # @param string type Data type
231
+ # @param string value Value to be deserialized
232
+ # @return [Object] Deserialized data
233
+ def self._deserialize(type, value)
234
+ case type.to_sym
235
+ when :Time
236
+ Time.parse(value)
237
+ when :Date
238
+ Date.parse(value)
239
+ when :String
240
+ value.to_s
241
+ when :Integer
242
+ value.to_i
243
+ when :Float
244
+ value.to_f
245
+ when :Boolean
246
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
247
+ true
248
+ else
249
+ false
250
+ end
251
+ when :Object
252
+ # generic object (usually a Hash), return directly
253
+ value
254
+ when /\AArray<(?<inner_type>.+)>\z/
255
+ inner_type = Regexp.last_match[:inner_type]
256
+ value.map { |v| _deserialize(inner_type, v) }
257
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
258
+ k_type = Regexp.last_match[:k_type]
259
+ v_type = Regexp.last_match[:v_type]
260
+ {}.tap do |hash|
261
+ value.each do |k, v|
262
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
263
+ end
264
+ end
265
+ else # model
266
+ # models (e.g. Pet) or oneOf
267
+ klass = WhoisFreaks.const_get(type)
268
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
269
+ end
270
+ end
271
+
272
+ # Returns the string representation of the object
273
+ # @return [String] String presentation of the object
274
+ def to_s
275
+ to_hash.to_s
276
+ end
277
+
278
+ # to_body is an alias to to_hash (backward compatibility)
279
+ # @return [Hash] Returns the object in the form of hash
280
+ def to_body
281
+ to_hash
282
+ end
283
+
284
+ # Returns the object in the form of hash
285
+ # @return [Hash] Returns the object in the form of hash
286
+ def to_hash
287
+ hash = {}
288
+ self.class.attribute_map.each_pair do |attr, param|
289
+ value = self.send(attr)
290
+ if value.nil?
291
+ is_nullable = self.class.openapi_nullable.include?(attr)
292
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
293
+ end
294
+
295
+ hash[param] = _to_hash(value)
296
+ end
297
+ hash
298
+ end
299
+
300
+ # Outputs non-array value in the form of hash
301
+ # For object, use to_hash. Otherwise, just return the value
302
+ # @param [Object] value Any valid value
303
+ # @return [Hash] Returns the value in the form of hash
304
+ def _to_hash(value)
305
+ if value.is_a?(Array)
306
+ value.compact.map { |v| _to_hash(v) }
307
+ elsif value.is_a?(Hash)
308
+ {}.tap do |hash|
309
+ value.each { |k, v| hash[k] = _to_hash(v) }
310
+ end
311
+ elsif value.respond_to? :to_hash
312
+ value.to_hash
313
+ else
314
+ value
315
+ end
316
+ end
317
+
318
+ end
319
+
320
+ end