maxmind-geoip2 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile.lock +3 -3
  4. data/lib/maxmind/geoip2/client.rb +269 -267
  5. data/lib/maxmind/geoip2/errors.rb +0 -7
  6. data/lib/maxmind/geoip2/model/abstract.rb +19 -15
  7. data/lib/maxmind/geoip2/model/anonymous_ip.rb +54 -50
  8. data/lib/maxmind/geoip2/model/asn.rb +33 -29
  9. data/lib/maxmind/geoip2/model/city.rb +59 -55
  10. data/lib/maxmind/geoip2/model/connection_type.rb +27 -23
  11. data/lib/maxmind/geoip2/model/country.rb +57 -53
  12. data/lib/maxmind/geoip2/model/domain.rb +27 -23
  13. data/lib/maxmind/geoip2/model/enterprise.rb +13 -9
  14. data/lib/maxmind/geoip2/model/insights.rb +12 -8
  15. data/lib/maxmind/geoip2/model/isp.rb +45 -41
  16. data/lib/maxmind/geoip2/reader.rb +242 -240
  17. data/lib/maxmind/geoip2/record/abstract.rb +17 -13
  18. data/lib/maxmind/geoip2/record/city.rb +33 -29
  19. data/lib/maxmind/geoip2/record/continent.rb +32 -28
  20. data/lib/maxmind/geoip2/record/country.rb +47 -43
  21. data/lib/maxmind/geoip2/record/location.rb +64 -60
  22. data/lib/maxmind/geoip2/record/maxmind.rb +14 -10
  23. data/lib/maxmind/geoip2/record/place.rb +22 -18
  24. data/lib/maxmind/geoip2/record/postal.rb +26 -22
  25. data/lib/maxmind/geoip2/record/represented_country.rb +20 -16
  26. data/lib/maxmind/geoip2/record/subdivision.rb +42 -38
  27. data/lib/maxmind/geoip2/record/traits.rb +195 -191
  28. data/maxmind-geoip2.gemspec +1 -1
  29. data/test/data/LICENSE +4 -0
  30. data/test/data/MaxMind-DB-spec.md +570 -0
  31. data/test/data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
  32. data/test/data/README.md +4 -0
  33. data/test/data/bad-data/README.md +7 -0
  34. data/test/data/bad-data/libmaxminddb/libmaxminddb-offset-integer-overflow.mmdb +0 -0
  35. data/test/data/bad-data/maxminddb-golang/cyclic-data-structure.mmdb +0 -0
  36. data/test/data/bad-data/maxminddb-golang/invalid-bytes-length.mmdb +1 -0
  37. data/test/data/bad-data/maxminddb-golang/invalid-data-record-offset.mmdb +0 -0
  38. data/test/data/bad-data/maxminddb-golang/invalid-map-key-length.mmdb +0 -0
  39. data/test/data/bad-data/maxminddb-golang/invalid-string-length.mmdb +1 -0
  40. data/test/data/bad-data/maxminddb-golang/metadata-is-an-uint128.mmdb +1 -0
  41. data/test/data/bad-data/maxminddb-golang/unexpected-bytes.mmdb +0 -0
  42. data/test/data/perltidyrc +12 -0
  43. data/test/data/source-data/GeoIP2-Anonymous-IP-Test.json +48 -0
  44. data/test/data/source-data/GeoIP2-City-Test.json +12852 -0
  45. data/test/data/source-data/GeoIP2-Connection-Type-Test.json +102 -0
  46. data/test/data/source-data/GeoIP2-Country-Test.json +15916 -0
  47. data/test/data/source-data/GeoIP2-DensityIncome-Test.json +14 -0
  48. data/test/data/source-data/GeoIP2-Domain-Test.json +452 -0
  49. data/test/data/source-data/GeoIP2-Enterprise-Test.json +687 -0
  50. data/test/data/source-data/GeoIP2-ISP-Test.json +12593 -0
  51. data/test/data/source-data/GeoIP2-Precision-Enterprise-Test.json +2061 -0
  52. data/test/data/source-data/GeoIP2-Static-IP-Score-Test.json +2132 -0
  53. data/test/data/source-data/GeoIP2-User-Count-Test.json +2837 -0
  54. data/test/data/source-data/GeoLite2-ASN-Test.json +37 -0
  55. data/test/data/source-data/README +15 -0
  56. data/test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb +0 -0
  57. data/test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb +0 -0
  58. data/test/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb +0 -0
  59. data/test/data/test-data/GeoIP2-City-Test.mmdb +0 -0
  60. data/test/data/test-data/GeoIP2-Connection-Type-Test.mmdb +0 -0
  61. data/test/data/test-data/GeoIP2-Country-Test.mmdb +0 -0
  62. data/test/data/test-data/GeoIP2-DensityIncome-Test.mmdb +0 -0
  63. data/test/data/test-data/GeoIP2-Domain-Test.mmdb +0 -0
  64. data/test/data/test-data/GeoIP2-Enterprise-Test.mmdb +0 -0
  65. data/test/data/test-data/GeoIP2-ISP-Test.mmdb +0 -0
  66. data/test/data/test-data/GeoIP2-Precision-Enterprise-Test.mmdb +0 -0
  67. data/test/data/test-data/GeoIP2-Static-IP-Score-Test.mmdb +0 -0
  68. data/test/data/test-data/GeoIP2-User-Count-Test.mmdb +0 -0
  69. data/test/data/test-data/GeoLite2-ASN-Test.mmdb +0 -0
  70. data/test/data/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb +0 -0
  71. data/test/data/test-data/MaxMind-DB-string-value-entries.mmdb +0 -0
  72. data/test/data/test-data/MaxMind-DB-test-broken-pointers-24.mmdb +0 -0
  73. data/test/data/test-data/MaxMind-DB-test-broken-search-tree-24.mmdb +0 -0
  74. data/test/data/test-data/MaxMind-DB-test-decoder.mmdb +0 -0
  75. data/test/data/test-data/MaxMind-DB-test-ipv4-24.mmdb +0 -0
  76. data/test/data/test-data/MaxMind-DB-test-ipv4-28.mmdb +0 -0
  77. data/test/data/test-data/MaxMind-DB-test-ipv4-32.mmdb +0 -0
  78. data/test/data/test-data/MaxMind-DB-test-ipv6-24.mmdb +0 -0
  79. data/test/data/test-data/MaxMind-DB-test-ipv6-28.mmdb +0 -0
  80. data/test/data/test-data/MaxMind-DB-test-ipv6-32.mmdb +0 -0
  81. data/test/data/test-data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
  82. data/test/data/test-data/MaxMind-DB-test-mixed-24.mmdb +0 -0
  83. data/test/data/test-data/MaxMind-DB-test-mixed-28.mmdb +0 -0
  84. data/test/data/test-data/MaxMind-DB-test-mixed-32.mmdb +0 -0
  85. data/test/data/test-data/MaxMind-DB-test-nested.mmdb +0 -0
  86. data/test/data/test-data/README.md +26 -0
  87. data/test/data/test-data/maps-with-pointers.raw +0 -0
  88. data/test/data/test-data/write-test-data.pl +641 -0
  89. data/test/data/tidyall.ini +5 -0
  90. metadata +64 -3
@@ -0,0 +1,5 @@
1
+ [PerlTidy]
2
+ select = **/*.{pl,pm,t}
3
+
4
+ [JSON]
5
+ select = **/*.json
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maxmind-geoip2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Storey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-26 00:00:00.000000000 Z
11
+ date: 2020-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -79,6 +79,67 @@ files:
79
79
  - lib/maxmind/geoip2/record/subdivision.rb
80
80
  - lib/maxmind/geoip2/record/traits.rb
81
81
  - maxmind-geoip2.gemspec
82
+ - test/data/LICENSE
83
+ - test/data/MaxMind-DB-spec.md
84
+ - test/data/MaxMind-DB-test-metadata-pointers.mmdb
85
+ - test/data/README.md
86
+ - test/data/bad-data/README.md
87
+ - test/data/bad-data/libmaxminddb/libmaxminddb-offset-integer-overflow.mmdb
88
+ - test/data/bad-data/maxminddb-golang/cyclic-data-structure.mmdb
89
+ - test/data/bad-data/maxminddb-golang/invalid-bytes-length.mmdb
90
+ - test/data/bad-data/maxminddb-golang/invalid-data-record-offset.mmdb
91
+ - test/data/bad-data/maxminddb-golang/invalid-map-key-length.mmdb
92
+ - test/data/bad-data/maxminddb-golang/invalid-string-length.mmdb
93
+ - test/data/bad-data/maxminddb-golang/metadata-is-an-uint128.mmdb
94
+ - test/data/bad-data/maxminddb-golang/unexpected-bytes.mmdb
95
+ - test/data/perltidyrc
96
+ - test/data/source-data/GeoIP2-Anonymous-IP-Test.json
97
+ - test/data/source-data/GeoIP2-City-Test.json
98
+ - test/data/source-data/GeoIP2-Connection-Type-Test.json
99
+ - test/data/source-data/GeoIP2-Country-Test.json
100
+ - test/data/source-data/GeoIP2-DensityIncome-Test.json
101
+ - test/data/source-data/GeoIP2-Domain-Test.json
102
+ - test/data/source-data/GeoIP2-Enterprise-Test.json
103
+ - test/data/source-data/GeoIP2-ISP-Test.json
104
+ - test/data/source-data/GeoIP2-Precision-Enterprise-Test.json
105
+ - test/data/source-data/GeoIP2-Static-IP-Score-Test.json
106
+ - test/data/source-data/GeoIP2-User-Count-Test.json
107
+ - test/data/source-data/GeoLite2-ASN-Test.json
108
+ - test/data/source-data/README
109
+ - test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb
110
+ - test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb
111
+ - test/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb
112
+ - test/data/test-data/GeoIP2-City-Test.mmdb
113
+ - test/data/test-data/GeoIP2-Connection-Type-Test.mmdb
114
+ - test/data/test-data/GeoIP2-Country-Test.mmdb
115
+ - test/data/test-data/GeoIP2-DensityIncome-Test.mmdb
116
+ - test/data/test-data/GeoIP2-Domain-Test.mmdb
117
+ - test/data/test-data/GeoIP2-Enterprise-Test.mmdb
118
+ - test/data/test-data/GeoIP2-ISP-Test.mmdb
119
+ - test/data/test-data/GeoIP2-Precision-Enterprise-Test.mmdb
120
+ - test/data/test-data/GeoIP2-Static-IP-Score-Test.mmdb
121
+ - test/data/test-data/GeoIP2-User-Count-Test.mmdb
122
+ - test/data/test-data/GeoLite2-ASN-Test.mmdb
123
+ - test/data/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb
124
+ - test/data/test-data/MaxMind-DB-string-value-entries.mmdb
125
+ - test/data/test-data/MaxMind-DB-test-broken-pointers-24.mmdb
126
+ - test/data/test-data/MaxMind-DB-test-broken-search-tree-24.mmdb
127
+ - test/data/test-data/MaxMind-DB-test-decoder.mmdb
128
+ - test/data/test-data/MaxMind-DB-test-ipv4-24.mmdb
129
+ - test/data/test-data/MaxMind-DB-test-ipv4-28.mmdb
130
+ - test/data/test-data/MaxMind-DB-test-ipv4-32.mmdb
131
+ - test/data/test-data/MaxMind-DB-test-ipv6-24.mmdb
132
+ - test/data/test-data/MaxMind-DB-test-ipv6-28.mmdb
133
+ - test/data/test-data/MaxMind-DB-test-ipv6-32.mmdb
134
+ - test/data/test-data/MaxMind-DB-test-metadata-pointers.mmdb
135
+ - test/data/test-data/MaxMind-DB-test-mixed-24.mmdb
136
+ - test/data/test-data/MaxMind-DB-test-mixed-28.mmdb
137
+ - test/data/test-data/MaxMind-DB-test-mixed-32.mmdb
138
+ - test/data/test-data/MaxMind-DB-test-nested.mmdb
139
+ - test/data/test-data/README.md
140
+ - test/data/test-data/maps-with-pointers.raw
141
+ - test/data/test-data/write-test-data.pl
142
+ - test/data/tidyall.ini
82
143
  - test/test_client.rb
83
144
  - test/test_model_country.rb
84
145
  - test/test_model_names.rb
@@ -109,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
170
  version: '0'
110
171
  requirements: []
111
172
  rubyforge_project:
112
- rubygems_version: 2.5.2.1
173
+ rubygems_version: 2.7.6
113
174
  signing_key:
114
175
  specification_version: 4
115
176
  summary: A gem for interacting with the GeoIP2 webservices and databases.