ipgeolocation_sdk 1.0.0 → 2.0.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 (228) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +288 -2003
  4. data/lib/ipgeolocation_sdk/client.rb +223 -0
  5. data/lib/ipgeolocation_sdk/client_config.rb +102 -0
  6. data/lib/ipgeolocation_sdk/enums.rb +110 -0
  7. data/lib/ipgeolocation_sdk/errors.rb +38 -0
  8. data/lib/ipgeolocation_sdk/json_output.rb +30 -0
  9. data/lib/ipgeolocation_sdk/models.rb +186 -0
  10. data/lib/ipgeolocation_sdk/request_models.rb +175 -0
  11. data/lib/ipgeolocation_sdk/serde.rb +433 -0
  12. data/lib/ipgeolocation_sdk/transport.rb +109 -0
  13. data/lib/ipgeolocation_sdk/value_object.rb +60 -0
  14. data/lib/ipgeolocation_sdk/version.rb +1 -13
  15. data/lib/ipgeolocation_sdk.rb +19 -101
  16. metadata +29 -310
  17. data/Gemfile +0 -9
  18. data/Rakefile +0 -10
  19. data/docs/ASNConnection.md +0 -22
  20. data/docs/ASNDetails.md +0 -48
  21. data/docs/ASNLookupApi.md +0 -89
  22. data/docs/ASNResponse.md +0 -20
  23. data/docs/ASNResponseXML.md +0 -20
  24. data/docs/ASNResponseXMLAsn.md +0 -48
  25. data/docs/Abuse.md +0 -40
  26. data/docs/AbuseContactApi.md +0 -85
  27. data/docs/AbuseResponse.md +0 -20
  28. data/docs/AbuseResponseXML.md +0 -20
  29. data/docs/Astronomy.md +0 -68
  30. data/docs/AstronomyApi.md +0 -97
  31. data/docs/AstronomyEvening.md +0 -36
  32. data/docs/AstronomyLocation.md +0 -50
  33. data/docs/AstronomyMorning.md +0 -36
  34. data/docs/AstronomyResponse.md +0 -22
  35. data/docs/AstronomyXMLResponse.md +0 -22
  36. data/docs/BulkIPGeolocation.md +0 -42
  37. data/docs/BulkIPSecurity.md +0 -42
  38. data/docs/CountryMetadata.md +0 -22
  39. data/docs/Currency.md +0 -22
  40. data/docs/ErrorResponse.md +0 -18
  41. data/docs/ErrorXMLResponse.md +0 -18
  42. data/docs/ErrorXMLResponseArray.md +0 -18
  43. data/docs/GeolocationResponse.md +0 -38
  44. data/docs/GeolocationXMLResponse.md +0 -38
  45. data/docs/GeolocationXMLResponseArray.md +0 -38
  46. data/docs/GetBulkIpGeolocation200ResponseInner1.md +0 -49
  47. data/docs/GetBulkIpGeolocationRequest.md +0 -18
  48. data/docs/GetBulkIpSecurityInfo200ResponseInner1.md +0 -49
  49. data/docs/IPLocationApi.md +0 -175
  50. data/docs/Location.md +0 -58
  51. data/docs/LocationMinimal.md +0 -52
  52. data/docs/Network.md +0 -22
  53. data/docs/NetworkAsn.md +0 -38
  54. data/docs/NetworkCompany.md +0 -22
  55. data/docs/NetworkMinimal.md +0 -20
  56. data/docs/NetworkMinimalAsn.md +0 -22
  57. data/docs/NetworkMinimalCompany.md +0 -18
  58. data/docs/ParseBulkUserAgentStringsRequest.md +0 -18
  59. data/docs/ParseUserAgentStringRequest.md +0 -18
  60. data/docs/Security.md +0 -38
  61. data/docs/SecurityAPIResponse.md +0 -34
  62. data/docs/SecurityAPIXMLResponse.md +0 -34
  63. data/docs/SecurityAPIXMLResponseArray.md +0 -34
  64. data/docs/SecurityApi.md +0 -175
  65. data/docs/TimeConversionApi.md +0 -109
  66. data/docs/TimeConversionResponse.md +0 -24
  67. data/docs/TimeConversionXMLResponse.md +0 -24
  68. data/docs/TimeZone.md +0 -36
  69. data/docs/TimeZoneDetailedResponse.md +0 -26
  70. data/docs/TimeZoneDetailedXMLResponse.md +0 -26
  71. data/docs/TimeZoneDstEnd.md +0 -28
  72. data/docs/TimeZoneDstStart.md +0 -28
  73. data/docs/TimezoneAirport.md +0 -40
  74. data/docs/TimezoneApi.md +0 -99
  75. data/docs/TimezoneDetail.md +0 -56
  76. data/docs/TimezoneDetailDstEnd.md +0 -28
  77. data/docs/TimezoneDetailDstStart.md +0 -28
  78. data/docs/TimezoneLocation.md +0 -48
  79. data/docs/TimezoneLocode.md +0 -32
  80. data/docs/UserAgentApi.md +0 -235
  81. data/docs/UserAgentData.md +0 -32
  82. data/docs/UserAgentDataDevice.md +0 -24
  83. data/docs/UserAgentDataEngine.md +0 -24
  84. data/docs/UserAgentDataOperatingSystem.md +0 -26
  85. data/docs/UserAgentXMLData.md +0 -32
  86. data/docs/UserAgentXMLDataArray.md +0 -32
  87. data/git_push.sh +0 -57
  88. data/ipgeolocation_sdk.gemspec +0 -29
  89. data/lib/ipgeolocation_sdk/api/abuse_contact_api.rb +0 -86
  90. data/lib/ipgeolocation_sdk/api/asn_lookup_api.rb +0 -92
  91. data/lib/ipgeolocation_sdk/api/astronomy_api.rb +0 -116
  92. data/lib/ipgeolocation_sdk/api/ip_geolocation_api.rb +0 -186
  93. data/lib/ipgeolocation_sdk/api/ip_security_api.rb +0 -184
  94. data/lib/ipgeolocation_sdk/api/time_conversion_api.rb +0 -122
  95. data/lib/ipgeolocation_sdk/api/timezone_api.rb +0 -113
  96. data/lib/ipgeolocation_sdk/api/user_agent_api.rb +0 -158
  97. data/lib/ipgeolocation_sdk/api_client.rb +0 -393
  98. data/lib/ipgeolocation_sdk/api_error.rb +0 -58
  99. data/lib/ipgeolocation_sdk/configuration.rb +0 -308
  100. data/lib/ipgeolocation_sdk/models/abuse.rb +0 -305
  101. data/lib/ipgeolocation_sdk/models/abuse_response.rb +0 -229
  102. data/lib/ipgeolocation_sdk/models/abuse_response_xml.rb +0 -229
  103. data/lib/ipgeolocation_sdk/models/asn_connection.rb +0 -238
  104. data/lib/ipgeolocation_sdk/models/asn_response.rb +0 -230
  105. data/lib/ipgeolocation_sdk/models/asn_response_asn.rb +0 -368
  106. data/lib/ipgeolocation_sdk/models/asn_response_xml.rb +0 -229
  107. data/lib/ipgeolocation_sdk/models/asn_response_xml_asn.rb +0 -364
  108. data/lib/ipgeolocation_sdk/models/astronomy.rb +0 -445
  109. data/lib/ipgeolocation_sdk/models/astronomy_evening.rb +0 -301
  110. data/lib/ipgeolocation_sdk/models/astronomy_location.rb +0 -364
  111. data/lib/ipgeolocation_sdk/models/astronomy_morning.rb +0 -301
  112. data/lib/ipgeolocation_sdk/models/astronomy_response.rb +0 -238
  113. data/lib/ipgeolocation_sdk/models/astronomy_xml_response.rb +0 -238
  114. data/lib/ipgeolocation_sdk/models/bulk_ip_geolocation.rb +0 -113
  115. data/lib/ipgeolocation_sdk/models/bulk_ip_security.rb +0 -113
  116. data/lib/ipgeolocation_sdk/models/country_metadata.rb +0 -240
  117. data/lib/ipgeolocation_sdk/models/currency.rb +0 -238
  118. data/lib/ipgeolocation_sdk/models/error_response.rb +0 -220
  119. data/lib/ipgeolocation_sdk/models/error_xml_response.rb +0 -220
  120. data/lib/ipgeolocation_sdk/models/error_xml_response_array.rb +0 -220
  121. data/lib/ipgeolocation_sdk/models/geolocation_response.rb +0 -310
  122. data/lib/ipgeolocation_sdk/models/geolocation_xml_response.rb +0 -310
  123. data/lib/ipgeolocation_sdk/models/geolocation_xml_response_array.rb +0 -310
  124. data/lib/ipgeolocation_sdk/models/get_bulk_ip_geolocation200_response_inner1.rb +0 -105
  125. data/lib/ipgeolocation_sdk/models/get_bulk_ip_geolocation_request.rb +0 -241
  126. data/lib/ipgeolocation_sdk/models/get_bulk_ip_security_info200_response_inner1.rb +0 -105
  127. data/lib/ipgeolocation_sdk/models/location.rb +0 -400
  128. data/lib/ipgeolocation_sdk/models/location_minimal.rb +0 -373
  129. data/lib/ipgeolocation_sdk/models/network.rb +0 -238
  130. data/lib/ipgeolocation_sdk/models/network_asn.rb +0 -310
  131. data/lib/ipgeolocation_sdk/models/network_company.rb +0 -238
  132. data/lib/ipgeolocation_sdk/models/network_minimal.rb +0 -229
  133. data/lib/ipgeolocation_sdk/models/network_minimal_asn.rb +0 -238
  134. data/lib/ipgeolocation_sdk/models/network_minimal_company.rb +0 -220
  135. data/lib/ipgeolocation_sdk/models/parse_bulk_user_agent_strings_request.rb +0 -222
  136. data/lib/ipgeolocation_sdk/models/parse_user_agent_string_request.rb +0 -220
  137. data/lib/ipgeolocation_sdk/models/security.rb +0 -310
  138. data/lib/ipgeolocation_sdk/models/security_api_response.rb +0 -292
  139. data/lib/ipgeolocation_sdk/models/security_apixml_response.rb +0 -292
  140. data/lib/ipgeolocation_sdk/models/security_apixml_response_array.rb +0 -292
  141. data/lib/ipgeolocation_sdk/models/time_conversion_response.rb +0 -247
  142. data/lib/ipgeolocation_sdk/models/time_conversion_xml_response.rb +0 -247
  143. data/lib/ipgeolocation_sdk/models/time_zone.rb +0 -301
  144. data/lib/ipgeolocation_sdk/models/time_zone_detailed_response.rb +0 -256
  145. data/lib/ipgeolocation_sdk/models/time_zone_detailed_xml_response.rb +0 -256
  146. data/lib/ipgeolocation_sdk/models/time_zone_dst_end.rb +0 -265
  147. data/lib/ipgeolocation_sdk/models/time_zone_dst_start.rb +0 -265
  148. data/lib/ipgeolocation_sdk/models/timezone_airport.rb +0 -319
  149. data/lib/ipgeolocation_sdk/models/timezone_detail.rb +0 -391
  150. data/lib/ipgeolocation_sdk/models/timezone_detail_dst_end.rb +0 -265
  151. data/lib/ipgeolocation_sdk/models/timezone_detail_dst_start.rb +0 -265
  152. data/lib/ipgeolocation_sdk/models/timezone_location.rb +0 -355
  153. data/lib/ipgeolocation_sdk/models/timezone_locode.rb +0 -283
  154. data/lib/ipgeolocation_sdk/models/user_agent_data.rb +0 -283
  155. data/lib/ipgeolocation_sdk/models/user_agent_data_device.rb +0 -247
  156. data/lib/ipgeolocation_sdk/models/user_agent_data_engine.rb +0 -247
  157. data/lib/ipgeolocation_sdk/models/user_agent_data_operating_system.rb +0 -256
  158. data/lib/ipgeolocation_sdk/models/user_agent_xml_data.rb +0 -283
  159. data/lib/ipgeolocation_sdk/models/user_agent_xml_data_array.rb +0 -283
  160. data/spec/api/abuse_contact_api_spec.rb +0 -48
  161. data/spec/api/asn_lookup_api_spec.rb +0 -50
  162. data/spec/api/astronomy_api_spec.rb +0 -54
  163. data/spec/api/ip_location_api_spec.rb +0 -67
  164. data/spec/api/security_api_spec.rb +0 -67
  165. data/spec/api/time_conversion_api_spec.rb +0 -60
  166. data/spec/api/timezone_api_spec.rb +0 -56
  167. data/spec/api/user_agent_api_spec.rb +0 -74
  168. data/spec/models/abuse_response_spec.rb +0 -42
  169. data/spec/models/abuse_response_xml_spec.rb +0 -42
  170. data/spec/models/abuse_spec.rb +0 -90
  171. data/spec/models/asn_connection_spec.rb +0 -48
  172. data/spec/models/asn_response_asn_spec.rb +0 -126
  173. data/spec/models/asn_response_spec.rb +0 -42
  174. data/spec/models/asn_response_xml_asn_spec.rb +0 -126
  175. data/spec/models/asn_response_xml_spec.rb +0 -42
  176. data/spec/models/astronomy_evening_spec.rb +0 -90
  177. data/spec/models/astronomy_location_spec.rb +0 -132
  178. data/spec/models/astronomy_morning_spec.rb +0 -90
  179. data/spec/models/astronomy_response_spec.rb +0 -48
  180. data/spec/models/astronomy_spec.rb +0 -186
  181. data/spec/models/astronomy_xml_response_spec.rb +0 -48
  182. data/spec/models/country_metadata_spec.rb +0 -48
  183. data/spec/models/currency_spec.rb +0 -48
  184. data/spec/models/error_response_spec.rb +0 -36
  185. data/spec/models/error_xml_response_array_spec.rb +0 -36
  186. data/spec/models/error_xml_response_spec.rb +0 -36
  187. data/spec/models/geolocation_response_spec.rb +0 -96
  188. data/spec/models/geolocation_xml_response_array_spec.rb +0 -96
  189. data/spec/models/geolocation_xml_response_spec.rb +0 -96
  190. data/spec/models/get_bulk_ip_geolocation200_response_inner1_spec.rb +0 -32
  191. data/spec/models/get_bulk_ip_geolocation200_response_inner_spec.rb +0 -32
  192. data/spec/models/get_bulk_ip_geolocation_request_spec.rb +0 -36
  193. data/spec/models/get_bulk_ip_security_info200_response_inner1_spec.rb +0 -32
  194. data/spec/models/get_bulk_ip_security_info200_response_inner_spec.rb +0 -32
  195. data/spec/models/location_minimal_spec.rb +0 -138
  196. data/spec/models/location_spec.rb +0 -156
  197. data/spec/models/network_asn_spec.rb +0 -96
  198. data/spec/models/network_company_spec.rb +0 -48
  199. data/spec/models/network_minimal_asn_spec.rb +0 -48
  200. data/spec/models/network_minimal_company_spec.rb +0 -36
  201. data/spec/models/network_minimal_spec.rb +0 -42
  202. data/spec/models/network_spec.rb +0 -48
  203. data/spec/models/parse_bulk_user_agent_strings_request_spec.rb +0 -36
  204. data/spec/models/parse_user_agent_string_request_spec.rb +0 -36
  205. data/spec/models/security_api_response_spec.rb +0 -84
  206. data/spec/models/security_apixml_response_array_spec.rb +0 -84
  207. data/spec/models/security_apixml_response_spec.rb +0 -84
  208. data/spec/models/security_spec.rb +0 -96
  209. data/spec/models/time_conversion_response_spec.rb +0 -54
  210. data/spec/models/time_conversion_xml_response_spec.rb +0 -54
  211. data/spec/models/time_zone_detailed_response_spec.rb +0 -60
  212. data/spec/models/time_zone_detailed_xml_response_spec.rb +0 -60
  213. data/spec/models/time_zone_dst_end_spec.rb +0 -66
  214. data/spec/models/time_zone_dst_start_spec.rb +0 -66
  215. data/spec/models/time_zone_spec.rb +0 -90
  216. data/spec/models/timezone_airport_spec.rb +0 -102
  217. data/spec/models/timezone_detail_dst_end_spec.rb +0 -66
  218. data/spec/models/timezone_detail_dst_start_spec.rb +0 -66
  219. data/spec/models/timezone_detail_spec.rb +0 -150
  220. data/spec/models/timezone_location_spec.rb +0 -126
  221. data/spec/models/timezone_locode_spec.rb +0 -78
  222. data/spec/models/user_agent_data_device_spec.rb +0 -54
  223. data/spec/models/user_agent_data_engine_spec.rb +0 -54
  224. data/spec/models/user_agent_data_operating_system_spec.rb +0 -60
  225. data/spec/models/user_agent_data_spec.rb +0 -78
  226. data/spec/models/user_agent_xml_data_array_spec.rb +0 -78
  227. data/spec/models/user_agent_xml_data_spec.rb +0 -78
  228. data/spec/spec_helper.rb +0 -111
@@ -0,0 +1,109 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "net/http"
4
+ require "openssl"
5
+ require "uri"
6
+
7
+ module IpgeolocationSdk
8
+ class HttpRequestData < ValueObject
9
+ attributes :url, :method, :headers, :body, :connect_timeout, :read_timeout
10
+ end
11
+
12
+ class HttpResponseData < ValueObject
13
+ attributes :status_code, :body, :headers
14
+ end
15
+
16
+ class NetHttpTransport
17
+ DEFAULT_MAX_RESPONSE_BODY_CHARS = 128 * 1024 * 1024
18
+
19
+ def initialize(max_response_body_chars: DEFAULT_MAX_RESPONSE_BODY_CHARS)
20
+ raise ArgumentError, "max_response_body_chars must be a positive integer" unless max_response_body_chars.is_a?(Integer) && max_response_body_chars.positive?
21
+
22
+ @max_response_body_chars = max_response_body_chars
23
+ end
24
+
25
+ def send_request(request)
26
+ uri = URI.parse(request.url)
27
+ http = Net::HTTP.new(uri.host, uri.port)
28
+ http.use_ssl = uri.scheme == "https"
29
+ http.open_timeout = request.connect_timeout
30
+ http.read_timeout = request.read_timeout
31
+
32
+ response = http.request(build_net_http_request(uri, request))
33
+ body = response.body
34
+ body = body.nil? ? read_response_body(response) : normalize_response_text(body.to_s)
35
+
36
+ HttpResponseData.new(
37
+ status_code: response.code.to_i,
38
+ body: body,
39
+ headers: normalize_headers(response.to_hash)
40
+ )
41
+ rescue Net::OpenTimeout => error
42
+ raise RequestTimeoutError.new(
43
+ "HTTP request timed out after #{timeout_ms(request.connect_timeout)}ms while opening the connection",
44
+ cause: error
45
+ )
46
+ rescue Net::ReadTimeout => error
47
+ raise RequestTimeoutError.new(
48
+ "HTTP request timed out after #{timeout_ms(request.read_timeout)}ms while reading the response body",
49
+ cause: error
50
+ )
51
+ rescue URI::InvalidURIError, SocketError, IOError, SystemCallError, OpenSSL::SSL::SSLError => error
52
+ raise TransportError.new("HTTP transport error", cause: error)
53
+ end
54
+
55
+ def close
56
+ nil
57
+ end
58
+
59
+ private
60
+
61
+ def build_net_http_request(uri, request)
62
+ klass =
63
+ case request.method
64
+ when "GET" then Net::HTTP::Get
65
+ when "POST" then Net::HTTP::Post
66
+ else
67
+ raise ValidationError, "unsupported HTTP method: #{request.method}"
68
+ end
69
+
70
+ net_request = klass.new(uri.request_uri)
71
+ request.headers.each do |name, values|
72
+ next if values.nil? || values.empty?
73
+
74
+ net_request[name] = values.length == 1 ? values.first : values.join(", ")
75
+ end
76
+ net_request.body = request.body unless request.body.nil?
77
+ net_request
78
+ end
79
+
80
+ def read_response_body(response)
81
+ body_parts = []
82
+
83
+ response.read_body do |chunk|
84
+ body_parts << normalize_response_text(chunk.to_s)
85
+ end
86
+
87
+ body_parts.join
88
+ end
89
+
90
+ def normalize_response_text(text)
91
+ normalized = text.encode(Encoding::UTF_8, invalid: :replace, undef: :replace)
92
+ if normalized.length > @max_response_body_chars
93
+ raise TransportError, "Response body exceeded max size of #{@max_response_body_chars} characters"
94
+ end
95
+
96
+ normalized
97
+ end
98
+
99
+ def normalize_headers(headers)
100
+ headers.each_with_object({}) do |(key, values), result|
101
+ result[key] = Array(values).map(&:to_s).freeze
102
+ end.freeze
103
+ end
104
+
105
+ def timeout_ms(seconds)
106
+ (seconds * 1000).to_i
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module IpgeolocationSdk
4
+ class ValueObject
5
+ class << self
6
+ def attributes(*names)
7
+ @attribute_names = names.map(&:to_sym).freeze
8
+ attr_reader(*@attribute_names)
9
+ end
10
+
11
+ def attribute_names
12
+ @attribute_names || []
13
+ end
14
+ end
15
+
16
+ def initialize(**attributes)
17
+ unknown = attributes.keys.map(&:to_sym) - self.class.attribute_names
18
+ raise ArgumentError, "unknown attributes: #{unknown.join(', ')}" unless unknown.empty?
19
+
20
+ self.class.attribute_names.each do |name|
21
+ instance_variable_set(:"@#{name}", self.class.send(:normalize_value, attributes.fetch(name, nil)))
22
+ end
23
+
24
+ freeze
25
+ end
26
+
27
+ def ==(other)
28
+ other.instance_of?(self.class) && self.class.attribute_names.all? do |name|
29
+ public_send(name) == other.public_send(name)
30
+ end
31
+ end
32
+
33
+ alias eql? ==
34
+
35
+ def hash
36
+ self.class.attribute_names.map { |name| public_send(name) }.hash
37
+ end
38
+
39
+ def to_h(mode: JsonOutputMode::COMPACT)
40
+ Serde.to_plain_data(self, mode)
41
+ end
42
+
43
+ class << self
44
+ private
45
+
46
+ def normalize_value(value)
47
+ case value
48
+ when Array
49
+ value.map { |item| normalize_value(item) }.freeze
50
+ when Hash
51
+ value.each_with_object({}) do |(key, item), result|
52
+ result[key] = normalize_value(item)
53
+ end.freeze
54
+ else
55
+ value
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -1,15 +1,3 @@
1
- =begin
2
- #IPGeolocation.io - IP intelligence products
3
-
4
- #Ipgeolocation provides a set of APIs to make ip based decisions.
5
-
6
- The version of the OpenAPI document: 2.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- Generator version: 7.13.0
10
-
11
- =end
12
-
13
1
  module IpgeolocationSdk
14
- VERSION = '1.0.0'
2
+ VERSION = "2.0.0"
15
3
  end
@@ -1,107 +1,25 @@
1
- =begin
2
- #IPGeolocation.io - IP intelligence products
3
-
4
- #Ipgeolocation provides a set of APIs to make ip based decisions.
5
-
6
- The version of the OpenAPI document: 2.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- Generator version: 7.13.0
10
-
11
- =end
12
-
13
- # Common files
14
- require 'ipgeolocation_sdk/api_client'
15
- require 'ipgeolocation_sdk/api_error'
16
- require 'ipgeolocation_sdk/version'
17
- require 'ipgeolocation_sdk/configuration'
18
-
19
- # Models
20
- require 'ipgeolocation_sdk/models/asn_connection'
21
- require 'ipgeolocation_sdk/models/asn_response'
22
- require 'ipgeolocation_sdk/models/asn_response_asn'
23
- require 'ipgeolocation_sdk/models/asn_response_xml'
24
- require 'ipgeolocation_sdk/models/asn_response_xml_asn'
25
- require 'ipgeolocation_sdk/models/abuse'
26
- require 'ipgeolocation_sdk/models/abuse_response'
27
- require 'ipgeolocation_sdk/models/abuse_response_xml'
28
- require 'ipgeolocation_sdk/models/astronomy'
29
- require 'ipgeolocation_sdk/models/astronomy_evening'
30
- require 'ipgeolocation_sdk/models/astronomy_location'
31
- require 'ipgeolocation_sdk/models/astronomy_morning'
32
- require 'ipgeolocation_sdk/models/astronomy_response'
33
- require 'ipgeolocation_sdk/models/astronomy_xml_response'
34
- require 'ipgeolocation_sdk/models/country_metadata'
35
- require 'ipgeolocation_sdk/models/currency'
36
- require 'ipgeolocation_sdk/models/error_response'
37
- require 'ipgeolocation_sdk/models/error_xml_response'
38
- require 'ipgeolocation_sdk/models/error_xml_response_array'
39
- require 'ipgeolocation_sdk/models/geolocation_response'
40
- require 'ipgeolocation_sdk/models/geolocation_xml_response'
41
- require 'ipgeolocation_sdk/models/geolocation_xml_response_array'
42
- require 'ipgeolocation_sdk/models/bulk_ip_geolocation'
43
- require 'ipgeolocation_sdk/models/get_bulk_ip_geolocation200_response_inner1'
44
- require 'ipgeolocation_sdk/models/get_bulk_ip_geolocation_request'
45
- require 'ipgeolocation_sdk/models/bulk_ip_security'
46
- require 'ipgeolocation_sdk/models/get_bulk_ip_security_info200_response_inner1'
47
- require 'ipgeolocation_sdk/models/location'
48
- require 'ipgeolocation_sdk/models/location_minimal'
49
- require 'ipgeolocation_sdk/models/network'
50
- require 'ipgeolocation_sdk/models/network_asn'
51
- require 'ipgeolocation_sdk/models/network_company'
52
- require 'ipgeolocation_sdk/models/network_minimal'
53
- require 'ipgeolocation_sdk/models/network_minimal_asn'
54
- require 'ipgeolocation_sdk/models/network_minimal_company'
55
- require 'ipgeolocation_sdk/models/parse_bulk_user_agent_strings_request'
56
- require 'ipgeolocation_sdk/models/parse_user_agent_string_request'
57
- require 'ipgeolocation_sdk/models/security'
58
- require 'ipgeolocation_sdk/models/security_api_response'
59
- require 'ipgeolocation_sdk/models/security_apixml_response'
60
- require 'ipgeolocation_sdk/models/security_apixml_response_array'
61
- require 'ipgeolocation_sdk/models/time_conversion_response'
62
- require 'ipgeolocation_sdk/models/time_conversion_xml_response'
63
- require 'ipgeolocation_sdk/models/time_zone'
64
- require 'ipgeolocation_sdk/models/time_zone_detailed_response'
65
- require 'ipgeolocation_sdk/models/time_zone_detailed_xml_response'
66
- require 'ipgeolocation_sdk/models/time_zone_dst_end'
67
- require 'ipgeolocation_sdk/models/time_zone_dst_start'
68
- require 'ipgeolocation_sdk/models/timezone_airport'
69
- require 'ipgeolocation_sdk/models/timezone_detail'
70
- require 'ipgeolocation_sdk/models/timezone_detail_dst_end'
71
- require 'ipgeolocation_sdk/models/timezone_detail_dst_start'
72
- require 'ipgeolocation_sdk/models/timezone_location'
73
- require 'ipgeolocation_sdk/models/timezone_locode'
74
- require 'ipgeolocation_sdk/models/user_agent_data'
75
- require 'ipgeolocation_sdk/models/user_agent_data_device'
76
- require 'ipgeolocation_sdk/models/user_agent_data_engine'
77
- require 'ipgeolocation_sdk/models/user_agent_data_operating_system'
78
- require 'ipgeolocation_sdk/models/user_agent_xml_data'
79
- require 'ipgeolocation_sdk/models/user_agent_xml_data_array'
80
-
81
- # APIs
82
- require 'ipgeolocation_sdk/api/asn_lookup_api'
83
- require 'ipgeolocation_sdk/api/abuse_contact_api'
84
- require 'ipgeolocation_sdk/api/astronomy_api'
85
- require 'ipgeolocation_sdk/api/ip_geolocation_api'
86
- require 'ipgeolocation_sdk/api/ip_security_api'
87
- require 'ipgeolocation_sdk/api/time_conversion_api'
88
- require 'ipgeolocation_sdk/api/timezone_api'
89
- require 'ipgeolocation_sdk/api/user_agent_api'
1
+ # frozen_string_literal: true
2
+
3
+ require "ipgeolocation_sdk/version"
4
+ require "ipgeolocation_sdk/errors"
5
+ require "ipgeolocation_sdk/enums"
6
+ require "ipgeolocation_sdk/value_object"
7
+ require "ipgeolocation_sdk/models"
8
+ require "ipgeolocation_sdk/request_models"
9
+ require "ipgeolocation_sdk/client_config"
10
+ require "ipgeolocation_sdk/transport"
11
+ require "ipgeolocation_sdk/serde"
12
+ require "ipgeolocation_sdk/json_output"
13
+ require "ipgeolocation_sdk/client"
90
14
 
91
15
  module IpgeolocationSdk
92
16
  class << self
93
- # Customize default settings for the SDK using block.
94
- # IpgeolocationSdk.configure do |config|
95
- # config.username = "xxx"
96
- # config.password = "xxx"
97
- # end
98
- # If no block given, return the default Configuration object.
99
- def configure
100
- if block_given?
101
- yield(Configuration.default)
102
- else
103
- Configuration.default
104
- end
17
+ def to_json(value, mode = JsonOutputMode::COMPACT)
18
+ JsonOutput.to_json(value, mode)
19
+ end
20
+
21
+ def to_pretty_json(value, mode = JsonOutputMode::COMPACT)
22
+ JsonOutput.to_pretty_json(value, mode)
105
23
  end
106
24
  end
107
25
  end