maxminddb 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e4123fd648335c765ce70e82b825f7f86b0622c7
4
- data.tar.gz: 24ff23c932348c1e92e3d700eda52cca12c48a2f
3
+ metadata.gz: beb223c680e2f098ea125a2b3aaf0ad1158b9bc5
4
+ data.tar.gz: 8011de694b097ca90abb15e9773510144e8841de
5
5
  SHA512:
6
- metadata.gz: c9f55ee36337167a41a434b81fbeb005db3afee197286d0c5563b042492f8cd1835c207b6641945bdbdb40aedd9164eb6d6e1fd92c22c67b4e928a02d8577406
7
- data.tar.gz: d2692e6285d4782c1c557ee11c0585ea59e6520bcba5f6a9898fbf5f1db1079051a9b054a5120567b1ca989af2b423f6e1fb52bfccbde7568b3d0548222a50e4
6
+ metadata.gz: 9ee9fe396721f75b615844e682ded0b0bebc49dd82a664791ab993f95c2f2311a50d4fe29484263698c703f1f4d079d96b571a83570fa6c20c12e18b31d27883
7
+ data.tar.gz: 5689092de37743722461d434ab24139996d8bd1bf78924c24ec66cc24d4ff7a41a65bf410513cd4f3423395c6f1a65daed3909e05c79d711933e321c16d04acc
data/.gitignore CHANGED
@@ -1,2 +1,4 @@
1
1
  spec/cache/*.mmdb
2
2
  *.swp
3
+ .ruby-*
4
+ Gemfile.lock
@@ -2,8 +2,8 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
- - 2.1.0
6
- - 2.1.1
5
+ - 2.1
6
+ - 2.2
7
7
  - jruby-19mode
8
8
  - rbx-2
9
9
 
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # maxminddb
2
2
 
3
- Pure Ruby [MaxMind DB](http://maxmind.github.io/MaxMind-DB/) binary file reader.
3
+ Pure Ruby [GeoIP2 MaxMind DB](http://maxmind.github.io/MaxMind-DB/) reader, which doesn't require [libmaxminddb](https://github.com/maxmind/libmaxminddb).
4
+
5
+ You can find more information about the GeoIP2 database [here](http://dev.maxmind.com/geoip/geoip2/downloadable/).
4
6
 
5
7
  [![Gem Version](https://badge.fury.io/rb/maxminddb.svg)](http://badge.fury.io/rb/maxminddb)
6
8
  [![Build Status](https://travis-ci.org/yhirose/maxminddb.svg?branch=master)](https://travis-ci.org/yhirose/maxminddb)
@@ -38,6 +40,7 @@ ret.country.name('zh-CN') # => '美国'
38
40
  ret.country.iso_code # => 'US'
39
41
  ret.city.name(:fr) # => 'Mountain View'
40
42
  ret.location.latitude # => -122.0574
43
+ ret.to_hash # => {"city"=>{"geoname_id"=>5375480, "names"=>{"de"=>"Mountain View", "en"=>"Mountain View", "fr"=>"Mountain View", "ja"=>"マウンテンビュー", "ru"=>"Маунтин-Вью", "zh-CN"=>"芒廷维尤"}}, "continent"=>{"code"=>"NA", "geoname_id"=>6255149, "names"=>{"de"=>"Nordamerika", "en"=>"North America", "es"=>"Norteamérica", "fr"=>"Amérique du Nord", "ja"=>"北アメリカ", "pt-BR"=>"América do Norte", "ru"=>"Северная Америка", "zh-CN"=>"北美洲"}}, "country"=>{"geoname_id"=>6252001, "iso_code"=>"US", "names"=>{"de"=>"USA", "en"=>"United States", "es"=>"Estados Unidos", "fr"=>"États-Unis", "ja"=>"アメリカ合衆国", "pt-BR"=>"Estados Unidos", "ru"=>"Сша", "zh-CN"=>"美国"}}, "location"=>{"latitude"=>37.419200000000004, "longitude"=>-122.0574, "metro_code"=>807, "time_zone"=>"America/Los_Angeles"}, "postal"=>{"code"=>"94043"}, "registered_country"=>{"geoname_id"=>6252001, "iso_code"=>"US", "names"=>{"de"=>"USA", "en"=>"United States", "es"=>"Estados Unidos", "fr"=>"États-Unis", "ja"=>"アメリカ合衆国", "pt-BR"=>"Estados Unidos", "ru"=>"Сша", "zh-CN"=>"美国"}}, "subdivisions"=>[{"geoname_id"=>5332921, "iso_code"=>"CA", "names"=>{"de"=>"Kalifornien", "en"=>"California", "es"=>"California", "fr"=>"Californie", "ja"=>"カリフォルニア州", "pt-BR"=>"Califórnia", "ru"=>"Калифорния", "zh-CN"=>"加利福尼亚州"}}]}
41
44
  ```
42
45
 
43
46
  Even if no result could be found, you can ask for the attributes without guarding for nil:
@@ -47,6 +50,7 @@ db = MaxMindDB.new('./GeoLite2-City.mmdb')
47
50
  ret = db.lookup('127.0.0.1')
48
51
  ret.found? # => false
49
52
  ret.country.name # => nil
53
+ ret.to_hash # => {}
50
54
  ```
51
55
 
52
56
 
@@ -53,6 +53,10 @@ module MaxMindDB
53
53
  @_traits ||= Traits.new(raw['traits'])
54
54
  end
55
55
 
56
+ def to_hash
57
+ @_to_hash ||= raw.clone
58
+ end
59
+
56
60
  private
57
61
 
58
62
  attr_reader :raw
@@ -1,3 +1,3 @@
1
1
  module MaxMindDB
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["yhirose"]
10
10
  spec.email = ["yuji.hirose.bug@gmail.com"]
11
11
  spec.summary = %q{MaxMind DB binary file reader.}
12
- spec.description = %q{Pure Ruby MaxMind DB binary file reader.}
12
+ spec.description = %q{Pure Ruby MaxMind DB (GeoIP2) binary file reader.}
13
13
  spec.homepage = "https://github.com/yhirose/maxminddb"
14
14
  spec.license = "MIT"
15
15
 
@@ -55,6 +55,16 @@ describe MaxMindDB::Result do
55
55
  end
56
56
  end
57
57
 
58
+ describe '#to_hash' do
59
+ it 'should be a kind of Hash' do
60
+ expect(result.to_hash).to be_kind_of(Hash)
61
+ end
62
+
63
+ it 'should return full raw data' do
64
+ expect(result.to_hash).to eq(raw_result)
65
+ end
66
+ end
67
+
58
68
  describe '#city' do
59
69
  context 'with a result' do
60
70
  it 'should be a kind of MaxMindDB::Result::NamedLocation' do
metadata CHANGED
@@ -1,81 +1,81 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maxminddb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - yhirose
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-02 00:00:00.000000000 Z
11
+ date: 2015-04-07 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.5'
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.5'
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: '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: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec-its
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- description: Pure Ruby MaxMind DB binary file reader.
69
+ description: Pure Ruby MaxMind DB (GeoIP2) binary file reader.
70
70
  email:
71
71
  - yuji.hirose.bug@gmail.com
72
72
  executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - ".gitignore"
77
- - ".rspec"
78
- - ".travis.yml"
76
+ - .gitignore
77
+ - .rspec
78
+ - .travis.yml
79
79
  - Gemfile
80
80
  - LICENSE.txt
81
81
  - README.md
@@ -105,17 +105,17 @@ require_paths:
105
105
  - lib
106
106
  required_ruby_version: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - ">="
113
+ - - '>='
114
114
  - !ruby/object:Gem::Version
115
115
  version: '0'
116
116
  requirements: []
117
117
  rubyforge_project:
118
- rubygems_version: 2.4.2
118
+ rubygems_version: 2.0.14
119
119
  signing_key:
120
120
  specification_version: 4
121
121
  summary: MaxMind DB binary file reader.