geolite2_city 2018.09.05 → 2018.09.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,17 +1,7 @@
1
1
  ---
2
- !binary "U0hBMjU2":
3
- metadata.gz: !binary |-
4
- M2QzNjU2MDAwMzYxMDc2ZTE2ZjUyYjk0NDhjODU0ZDYxYmQyODM4ZWY2NzJl
5
- MzFjMWUyNmE4ZWVlNjhlMzY5ZA==
6
- data.tar.gz: !binary |-
7
- MDFmMGFhYjM5YTRiMTEyMzRhMjI5MTRkOWRmMGRhMzE4ZTJjOWYwOGI4ODlj
8
- ZmFmOTYzZjE4OWUxMTdlMjgwMw==
2
+ SHA1:
3
+ metadata.gz: d64259b8782fd4e1bba8465eab0800dc872fd794
4
+ data.tar.gz: 78121f9b9c1aad8099c8d3fe42b262fe2aa45697
9
5
  SHA512:
10
- metadata.gz: !binary |-
11
- NDdjYTljZjM1YTdiZDNhYTA0NGEwOTZiMTNlNjc4NDJiNjdjMDFiYWU0NjQ3
12
- ZGY0NjIxMDM2ODIzNWRmYjU5NmZkYTU0NDc1NmQwNDI3Mjc3NTFiNTcxNDE1
13
- ZjAzZGVmMTdkMDI5ZmM0OWU1Njk4NDAxZDJkMGU2YmE4MzdkN2M=
14
- data.tar.gz: !binary |-
15
- NGY4ZGI0MDc5MmRlNTU3ODMyNDNlMGQzMDg1ODJhZGVhYTMyMzZhZTk0NWY2
16
- MzgxZWVkMTI3NmYzMDIyM2E4ZmI0Mzg4YmU5ZjUyZWRjM2JjNjk2Mjg1YjE5
17
- YjE2NDk4ZjQ5NTQ2YjY1MWYwZDM1OWRmNTY3Yzg0YzFlYjkxMjc=
6
+ metadata.gz: 0b562b815444656a19145ecf7badb9b7ac881658cd61516b3c9319af85c26a966b5356b49ee2d4d921aad4d6583d81f050fdabfa50b2026d116a92e64958901e
7
+ data.tar.gz: be19d59dc2495f842c7dc039b67aedc9162a4cd6d1d3292d7f9282abd7be01f6043c00b3786d9a0eeaf4276a1ee36c8697562ea039de6e4b7c48095673ff1aec
data/README.md CHANGED
@@ -56,9 +56,8 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
56
56
 
57
57
  ### Updating the DB
58
58
 
59
- * Download the latest from <http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz> (linked from <https://dev.maxmind.com/geoip/geoip2/geolite2/>), unpack it and stick its contents in the `db` dir of the gem.
60
- * Update the version of the gem to match the date in the unpacked folder name.
61
- * Release the gem.
59
+ * Run `rake db:update` and make a pull request with the result
60
+ * Release the gem
62
61
  * Prosper‽
63
62
 
64
63
 
data/Rakefile CHANGED
@@ -1,5 +1,10 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rake/testtask"
3
+ require "zlib"
4
+ require "fileutils"
5
+ require "rubygems/package"
6
+ require "net/http"
7
+ require "uri"
3
8
 
4
9
  Rake::TestTask.new(:test) do |t|
5
10
  t.libs << "test"
@@ -7,4 +12,34 @@ Rake::TestTask.new(:test) do |t|
7
12
  t.test_files = FileList["test/**/*_test.rb"]
8
13
  end
9
14
 
15
+ desc "Update the DB and the Gem version"
16
+ namespace :db do
17
+ task :update do
18
+ uri = URI("http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz")
19
+ tarball = Net::HTTP.get(uri)
20
+ z = Zlib::GzipReader.new(StringIO.new(tarball))
21
+ unzipped = StringIO.new(z.read)
22
+
23
+ gem_version = nil
24
+
25
+ Gem::Package::TarReader.new(unzipped) do |tar|
26
+ tar.each do |tarfile|
27
+ if tarfile.directory?
28
+ _prefix, file_version = tarfile.full_name.split("_", 2)
29
+ gem_version = [ file_version[0,4], file_version[4,2], file_version[6,2] ].join(".")
30
+
31
+ File.write(File.join(__dir__, "db", "VERSION"), gem_version)
32
+
33
+ next
34
+ end
35
+
36
+ filename = File.basename(tarfile.full_name)
37
+ File.binwrite(File.join(__dir__, "db", filename), tarfile.read)
38
+ end
39
+ end
40
+
41
+ puts "Done! Version: #{gem_version}"
42
+ end
43
+ end
44
+
10
45
  task :default => :test
Binary file
data/db/VERSION ADDED
@@ -0,0 +1 @@
1
+ 2018.09.11
@@ -22,4 +22,6 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.15"
24
24
  spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "maxminddb"
26
+ spec.add_development_dependency "minitest"
25
27
  end
@@ -1,3 +1,3 @@
1
1
  module Geolite2City
2
- VERSION = "2018.09.05"
2
+ VERSION = File.read(File.join(__dir__, "../../db/VERSION"))
3
3
  end
metadata CHANGED
@@ -1,43 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geolite2_city
3
3
  version: !ruby/object:Gem::Version
4
- version: 2018.09.05
4
+ version: 2018.09.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henrik Nyh
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-06 00:00:00.000000000 Z
11
+ date: 2018-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.15'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.15'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: maxminddb
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  description:
42
70
  email:
43
71
  - henrik@nyh.se
@@ -45,8 +73,8 @@ executables: []
45
73
  extensions: []
46
74
  extra_rdoc_files: []
47
75
  files:
48
- - .gitignore
49
- - .travis.yml
76
+ - ".gitignore"
77
+ - ".travis.yml"
50
78
  - Gemfile
51
79
  - LICENSE.txt
52
80
  - README.md
@@ -57,6 +85,7 @@ files:
57
85
  - db/GeoLite2-City.mmdb
58
86
  - db/LICENSE.txt
59
87
  - db/README.txt
88
+ - db/VERSION
60
89
  - geolite2_city.gemspec
61
90
  - lib/geolite2_city.rb
62
91
  - lib/geolite2_city/version.rb
@@ -70,17 +99,17 @@ require_paths:
70
99
  - lib
71
100
  required_ruby_version: !ruby/object:Gem::Requirement
72
101
  requirements:
73
- - - ! '>='
102
+ - - ">="
74
103
  - !ruby/object:Gem::Version
75
104
  version: '0'
76
105
  required_rubygems_version: !ruby/object:Gem::Requirement
77
106
  requirements:
78
- - - ! '>='
107
+ - - ">="
79
108
  - !ruby/object:Gem::Version
80
109
  version: '0'
81
110
  requirements: []
82
111
  rubyforge_project:
83
- rubygems_version: 2.7.4
112
+ rubygems_version: 2.6.11
84
113
  signing_key:
85
114
  specification_version: 4
86
115
  summary: Includes the free GeoLite2 City database file.