maxmind-geoip2 1.1.0 → 1.3.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/Gemfile.lock +114 -0
  4. data/README.dev.md +1 -1
  5. data/README.md +26 -6
  6. data/Rakefile +1 -0
  7. data/lib/maxmind/geoip2/client.rb +18 -9
  8. data/lib/maxmind/geoip2/model/anonymous_plus.rb +46 -0
  9. data/lib/maxmind/geoip2/model/city.rb +5 -6
  10. data/lib/maxmind/geoip2/model/connection_type.rb +3 -2
  11. data/lib/maxmind/geoip2/model/enterprise.rb +2 -3
  12. data/lib/maxmind/geoip2/model/insights.rb +3 -5
  13. data/lib/maxmind/geoip2/reader.rb +26 -1
  14. data/lib/maxmind/geoip2/record/location.rb +3 -3
  15. data/lib/maxmind/geoip2/record/traits.rb +40 -28
  16. data/lib/maxmind/geoip2/version.rb +8 -0
  17. data/maxmind-geoip2.gemspec +11 -6
  18. data/test/data/LICENSE-APACHE +202 -0
  19. data/test/data/LICENSE-MIT +17 -0
  20. data/test/data/MaxMind-DB-spec.md +1 -2
  21. data/test/data/README.md +8 -1
  22. data/test/data/cmd/write-test-data/main.go +68 -0
  23. data/test/data/go.mod +13 -0
  24. data/test/data/go.sum +16 -0
  25. data/test/data/pkg/writer/decoder.go +178 -0
  26. data/test/data/pkg/writer/geoip2.go +184 -0
  27. data/test/data/pkg/writer/ip.go +39 -0
  28. data/test/data/pkg/writer/maxmind.go +246 -0
  29. data/test/data/pkg/writer/nestedstructures.go +73 -0
  30. data/test/data/pkg/writer/writer.go +61 -0
  31. data/test/data/source-data/GeoIP-Anonymous-Plus-Test.json +175 -0
  32. data/test/data/source-data/GeoIP2-Anonymous-IP-Test.json +6 -0
  33. data/test/data/source-data/GeoIP2-City-Test.json +392 -5
  34. data/test/data/source-data/GeoIP2-Connection-Type-Test.json +15 -10
  35. data/test/data/source-data/GeoIP2-Country-Test.json +99 -25
  36. data/test/data/source-data/GeoIP2-Domain-Test.json +5 -0
  37. data/test/data/source-data/GeoIP2-Enterprise-Test.json +371 -6
  38. data/test/data/source-data/GeoIP2-IP-Risk-Test.json +31 -0
  39. data/test/data/source-data/GeoIP2-Precision-Enterprise-Sandbox-Test.json +296 -0
  40. data/test/data/source-data/GeoIP2-Precision-Enterprise-Test.json +1159 -175
  41. data/test/data/source-data/GeoIP2-Static-IP-Score-Test.json +15 -0
  42. data/test/data/source-data/GeoIP2-User-Count-Test.json +18 -0
  43. data/test/data/source-data/GeoLite2-City-Test.json +168 -3
  44. data/test/data/source-data/GeoLite2-Country-Test.json +92 -3
  45. data/test/data/test-data/GeoIP-Anonymous-Plus-Test.mmdb +0 -0
  46. data/test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb +0 -0
  47. data/test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb +0 -0
  48. data/test/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb +0 -0
  49. data/test/data/test-data/GeoIP2-City-Test.mmdb +0 -0
  50. data/test/data/test-data/GeoIP2-Connection-Type-Test.mmdb +0 -0
  51. data/test/data/test-data/GeoIP2-Country-Test.mmdb +0 -0
  52. data/test/data/test-data/GeoIP2-DensityIncome-Test.mmdb +0 -0
  53. data/test/data/test-data/GeoIP2-Domain-Test.mmdb +0 -0
  54. data/test/data/test-data/GeoIP2-Enterprise-Test.mmdb +0 -0
  55. data/test/data/test-data/GeoIP2-IP-Risk-Test.mmdb +0 -0
  56. data/test/data/test-data/GeoIP2-ISP-Test.mmdb +0 -0
  57. data/test/data/test-data/GeoIP2-Precision-Enterprise-Test.mmdb +0 -0
  58. data/test/data/test-data/GeoIP2-Static-IP-Score-Test.mmdb +0 -0
  59. data/test/data/test-data/GeoIP2-User-Count-Test.mmdb +0 -0
  60. data/test/data/test-data/GeoLite2-ASN-Test.mmdb +0 -0
  61. data/test/data/test-data/GeoLite2-City-Test.mmdb +0 -0
  62. data/test/data/test-data/GeoLite2-Country-Test.mmdb +0 -0
  63. data/test/data/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb +0 -0
  64. data/test/data/test-data/MaxMind-DB-string-value-entries.mmdb +0 -0
  65. data/test/data/test-data/MaxMind-DB-test-broken-pointers-24.mmdb +0 -0
  66. data/test/data/test-data/MaxMind-DB-test-broken-search-tree-24.mmdb +0 -0
  67. data/test/data/test-data/MaxMind-DB-test-decoder.mmdb +0 -0
  68. data/test/data/test-data/MaxMind-DB-test-ipv4-24.mmdb +0 -0
  69. data/test/data/test-data/MaxMind-DB-test-ipv4-28.mmdb +0 -0
  70. data/test/data/test-data/MaxMind-DB-test-ipv4-32.mmdb +0 -0
  71. data/test/data/test-data/MaxMind-DB-test-ipv6-24.mmdb +0 -0
  72. data/test/data/test-data/MaxMind-DB-test-ipv6-28.mmdb +0 -0
  73. data/test/data/test-data/MaxMind-DB-test-ipv6-32.mmdb +0 -0
  74. data/test/data/test-data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
  75. data/test/data/test-data/MaxMind-DB-test-mixed-24.mmdb +0 -0
  76. data/test/data/test-data/MaxMind-DB-test-mixed-28.mmdb +0 -0
  77. data/test/data/test-data/MaxMind-DB-test-mixed-32.mmdb +0 -0
  78. data/test/data/test-data/MaxMind-DB-test-nested.mmdb +0 -0
  79. data/test/data/test-data/MaxMind-DB-test-pointer-decoder.mmdb +0 -0
  80. data/test/data/test-data/README.md +28 -12
  81. data/test/test_client.rb +18 -2
  82. data/test/test_reader.rb +42 -1
  83. metadata +25 -13
  84. data/test/data/LICENSE +0 -4
  85. data/test/data/perltidyrc +0 -12
  86. data/test/data/source-data/README +0 -15
  87. data/test/data/test-data/write-test-data.pl +0 -695
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maxmind-geoip2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Storey
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2021-11-18 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: connection_pool
@@ -50,14 +49,14 @@ dependencies:
50
49
  requirements:
51
50
  - - "~>"
52
51
  - !ruby/object:Gem::Version
53
- version: '1.1'
52
+ version: '1.2'
54
53
  type: :runtime
55
54
  prerelease: false
56
55
  version_requirements: !ruby/object:Gem::Requirement
57
56
  requirements:
58
57
  - - "~>"
59
58
  - !ruby/object:Gem::Version
60
- version: '1.1'
59
+ version: '1.2'
61
60
  - !ruby/object:Gem::Dependency
62
61
  name: minitest
63
62
  requirement: !ruby/object:Gem::Requirement
@@ -137,6 +136,7 @@ extra_rdoc_files: []
137
136
  files:
138
137
  - CHANGELOG.md
139
138
  - Gemfile
139
+ - Gemfile.lock
140
140
  - LICENSE-APACHE
141
141
  - LICENSE-MIT
142
142
  - README.dev.md
@@ -147,6 +147,7 @@ files:
147
147
  - lib/maxmind/geoip2/errors.rb
148
148
  - lib/maxmind/geoip2/model/abstract.rb
149
149
  - lib/maxmind/geoip2/model/anonymous_ip.rb
150
+ - lib/maxmind/geoip2/model/anonymous_plus.rb
150
151
  - lib/maxmind/geoip2/model/asn.rb
151
152
  - lib/maxmind/geoip2/model/city.rb
152
153
  - lib/maxmind/geoip2/model/connection_type.rb
@@ -167,8 +168,10 @@ files:
167
168
  - lib/maxmind/geoip2/record/represented_country.rb
168
169
  - lib/maxmind/geoip2/record/subdivision.rb
169
170
  - lib/maxmind/geoip2/record/traits.rb
171
+ - lib/maxmind/geoip2/version.rb
170
172
  - maxmind-geoip2.gemspec
171
- - test/data/LICENSE
173
+ - test/data/LICENSE-APACHE
174
+ - test/data/LICENSE-MIT
172
175
  - test/data/MaxMind-DB-spec.md
173
176
  - test/data/README.md
174
177
  - test/data/bad-data/README.md
@@ -181,7 +184,16 @@ files:
181
184
  - test/data/bad-data/maxminddb-golang/metadata-is-an-uint128.mmdb
182
185
  - test/data/bad-data/maxminddb-golang/unexpected-bytes.mmdb
183
186
  - test/data/bad-data/maxminddb-python/bad-unicode-in-map-key.mmdb
184
- - test/data/perltidyrc
187
+ - test/data/cmd/write-test-data/main.go
188
+ - test/data/go.mod
189
+ - test/data/go.sum
190
+ - test/data/pkg/writer/decoder.go
191
+ - test/data/pkg/writer/geoip2.go
192
+ - test/data/pkg/writer/ip.go
193
+ - test/data/pkg/writer/maxmind.go
194
+ - test/data/pkg/writer/nestedstructures.go
195
+ - test/data/pkg/writer/writer.go
196
+ - test/data/source-data/GeoIP-Anonymous-Plus-Test.json
185
197
  - test/data/source-data/GeoIP2-Anonymous-IP-Test.json
186
198
  - test/data/source-data/GeoIP2-City-Test.json
187
199
  - test/data/source-data/GeoIP2-Connection-Type-Test.json
@@ -189,14 +201,16 @@ files:
189
201
  - test/data/source-data/GeoIP2-DensityIncome-Test.json
190
202
  - test/data/source-data/GeoIP2-Domain-Test.json
191
203
  - test/data/source-data/GeoIP2-Enterprise-Test.json
204
+ - test/data/source-data/GeoIP2-IP-Risk-Test.json
192
205
  - test/data/source-data/GeoIP2-ISP-Test.json
206
+ - test/data/source-data/GeoIP2-Precision-Enterprise-Sandbox-Test.json
193
207
  - test/data/source-data/GeoIP2-Precision-Enterprise-Test.json
194
208
  - test/data/source-data/GeoIP2-Static-IP-Score-Test.json
195
209
  - test/data/source-data/GeoIP2-User-Count-Test.json
196
210
  - test/data/source-data/GeoLite2-ASN-Test.json
197
211
  - test/data/source-data/GeoLite2-City-Test.json
198
212
  - test/data/source-data/GeoLite2-Country-Test.json
199
- - test/data/source-data/README
213
+ - test/data/test-data/GeoIP-Anonymous-Plus-Test.mmdb
200
214
  - test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb
201
215
  - test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb
202
216
  - test/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb
@@ -206,6 +220,7 @@ files:
206
220
  - test/data/test-data/GeoIP2-DensityIncome-Test.mmdb
207
221
  - test/data/test-data/GeoIP2-Domain-Test.mmdb
208
222
  - test/data/test-data/GeoIP2-Enterprise-Test.mmdb
223
+ - test/data/test-data/GeoIP2-IP-Risk-Test.mmdb
209
224
  - test/data/test-data/GeoIP2-ISP-Test.mmdb
210
225
  - test/data/test-data/GeoIP2-Precision-Enterprise-Test.mmdb
211
226
  - test/data/test-data/GeoIP2-Static-IP-Score-Test.mmdb
@@ -232,7 +247,6 @@ files:
232
247
  - test/data/test-data/MaxMind-DB-test-pointer-decoder.mmdb
233
248
  - test/data/test-data/README.md
234
249
  - test/data/test-data/maps-with-pointers.raw
235
- - test/data/test-data/write-test-data.pl
236
250
  - test/data/tidyall.ini
237
251
  - test/test_client.rb
238
252
  - test/test_model_country.rb
@@ -249,7 +263,6 @@ metadata:
249
263
  homepage_uri: https://github.com/maxmind/GeoIP2-ruby
250
264
  rubygems_mfa_required: 'true'
251
265
  source_code_uri: https://github.com/maxmind/GeoIP2-ruby
252
- post_install_message:
253
266
  rdoc_options: []
254
267
  require_paths:
255
268
  - lib
@@ -257,15 +270,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
257
270
  requirements:
258
271
  - - ">="
259
272
  - !ruby/object:Gem::Version
260
- version: 2.5.0
273
+ version: '3.0'
261
274
  required_rubygems_version: !ruby/object:Gem::Requirement
262
275
  requirements:
263
276
  - - ">="
264
277
  - !ruby/object:Gem::Version
265
278
  version: '0'
266
279
  requirements: []
267
- rubygems_version: 3.2.22
268
- signing_key:
280
+ rubygems_version: 3.6.7
269
281
  specification_version: 4
270
282
  summary: A gem for interacting with the GeoIP2 webservices and databases.
271
283
  test_files: []
data/test/data/LICENSE DELETED
@@ -1,4 +0,0 @@
1
- This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
2
- Unported License. To view a copy of this license, visit
3
- http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative
4
- Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
data/test/data/perltidyrc DELETED
@@ -1,12 +0,0 @@
1
- --blank-lines-before-packages=0
2
- --iterations=2
3
- --no-outdent-long-comments
4
- -b
5
- -bar
6
- -boc
7
- -ci=4
8
- -i=4
9
- -l=78
10
- -nolq
11
- -se
12
- -wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
@@ -1,15 +0,0 @@
1
- All of these but the City and Enterprise files are JSON dumps of the databases
2
- created by the GeoIP2 build integration tests
3
- (TestFor::MM::Integration::GeoIP2::Build).
4
-
5
- Additional data was added to match our legacy test databases.
6
-
7
- The City file is of unknown origin.
8
-
9
- The Enterprise file was a single example IP address, modified slightly to
10
- include all fields. It now has more than that.
11
-
12
- The Precision file was the normal Enterprise file with an additional marker
13
- (128.101.101.101) to differentiate the two. It now contains additional
14
- additions and changes as it is the database used in many MaxMind
15
- integration tests.