trifle 0.0.8 → 0.0.9
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.
- data/Gemfile +1 -5
- data/Gemfile.lock +6 -7
- data/README.md +3 -7
- data/lib/trifle.rb +1 -1
- data/lib/trifle/finder.rb +2 -2
- data/lib/trifle/version.rb +2 -2
- data/spec/trifle/finder_spec.rb +7 -2
- data/trifle.gemspec +5 -4
- metadata +26 -10
data/Gemfile
CHANGED
@@ -3,8 +3,4 @@ source :rubygems
|
|
3
3
|
# Specify your gem's dependencies in messages.gemspec
|
4
4
|
gemspec
|
5
5
|
|
6
|
-
gem "fakeredis", github: "
|
7
|
-
|
8
|
-
group :test do
|
9
|
-
gem "rake"
|
10
|
-
end
|
6
|
+
gem "fakeredis", github: "guilleiguaran/fakeredis", require: "fakeredis/rspec"
|
data/Gemfile.lock
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
GIT
|
2
|
-
remote: git://github.com/
|
3
|
-
revision:
|
4
|
-
branch: redis-rb-3
|
2
|
+
remote: git://github.com/guilleiguaran/fakeredis.git
|
3
|
+
revision: 534517a139b129e29366302e8c75232e6b9d2754
|
5
4
|
specs:
|
6
|
-
fakeredis (0.
|
7
|
-
redis (
|
5
|
+
fakeredis (0.4.1)
|
6
|
+
redis (~> 3.0.0)
|
8
7
|
|
9
8
|
PATH
|
10
9
|
remote: .
|
11
10
|
specs:
|
12
|
-
trifle (0.0.
|
13
|
-
redis
|
11
|
+
trifle (0.0.9)
|
12
|
+
redis (>= 3.0.0)
|
14
13
|
|
15
14
|
GEM
|
16
15
|
remote: http://rubygems.org/
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Trifle
|
2
2
|
|
3
|
-

|
3
|
+
[](https://travis-ci.org/#!/EmberAds/trifle)
|
4
4
|
|
5
5
|
Stores the GeoIP databases in Redis and gives it a simple way to lookup IPs and map them to countries/country codes.
|
6
6
|
|
@@ -16,9 +16,7 @@ Loading the GeoIP databases from disk is slow, and doing that for every request
|
|
16
16
|
|
17
17
|
Install the gem
|
18
18
|
|
19
|
-
|
20
|
-
gem install trifle
|
21
|
-
```
|
19
|
+
gem install trifle
|
22
20
|
|
23
21
|
or add it to your Gemfile and bundle
|
24
22
|
|
@@ -49,9 +47,7 @@ trifle = Trifle.new(Redis.new, key: "foobar")
|
|
49
47
|
|
50
48
|
You can also load the Trifle from the command line:
|
51
49
|
|
52
|
-
|
53
|
-
trifle redis://127.0.0.1:6379/0 file1.csv file2.csv
|
54
|
-
```
|
50
|
+
trifle redis://127.0.0.1:6379/0 file1.csv file2.csv
|
55
51
|
|
56
52
|
### Lookup
|
57
53
|
|
data/lib/trifle.rb
CHANGED
data/lib/trifle/finder.rb
CHANGED
@@ -6,7 +6,7 @@ class Trifle
|
|
6
6
|
include InitializeWithRedis
|
7
7
|
|
8
8
|
def handle ip
|
9
|
-
ip_i = IPAddr.new(ip).to_i
|
9
|
+
ip_i = IPAddr.new(ip).native.to_i
|
10
10
|
find(ip_i, 0, max)
|
11
11
|
rescue ArgumentError => ex
|
12
12
|
nil
|
@@ -44,4 +44,4 @@ class Trifle
|
|
44
44
|
range[0] <= ip_i && ip_i <= range[1]
|
45
45
|
end
|
46
46
|
end
|
47
|
-
end
|
47
|
+
end
|
data/lib/trifle/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
class Trifle
|
2
|
-
VERSION = "0.0.
|
3
|
-
end
|
2
|
+
VERSION = "0.0.9" unless defined? Trifle::VERSION
|
3
|
+
end
|
data/spec/trifle/finder_spec.rb
CHANGED
@@ -52,6 +52,11 @@ describe Trifle::Finder do
|
|
52
52
|
it "should handle nil ips" do
|
53
53
|
@finder.handle(nil).should be_nil
|
54
54
|
end
|
55
|
-
end
|
56
55
|
|
57
|
-
|
56
|
+
it "should handle ipv6 compatible ipv4 addresses" do
|
57
|
+
@finder.handle("::ffff:223.255.128.0").should be == ["HK", "Hong Kong"]
|
58
|
+
@finder.handle("::ffff:223.255.244.10").should be == ["IN", "India"]
|
59
|
+
@finder.handle("::ffff:223.255.255.255").should be == ["AU","Australia"]
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/trifle.gemspec
CHANGED
@@ -18,9 +18,10 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.add_development_dependency
|
22
|
-
s.add_development_dependency
|
23
|
-
s.add_development_dependency "
|
21
|
+
s.add_development_dependency "rake"
|
22
|
+
s.add_development_dependency "rspec"
|
23
|
+
s.add_development_dependency "active_support"
|
24
|
+
s.add_development_dependency "fakeredis", ">= 0.4.0"
|
24
25
|
|
25
|
-
s.add_dependency
|
26
|
+
s.add_dependency "redis", ">= 3.0.0"
|
26
27
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trifle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
14
30
|
- !ruby/object:Gem::Dependency
|
15
31
|
name: rspec
|
16
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -48,17 +64,17 @@ dependencies:
|
|
48
64
|
requirement: !ruby/object:Gem::Requirement
|
49
65
|
none: false
|
50
66
|
requirements:
|
51
|
-
- -
|
67
|
+
- - ! '>='
|
52
68
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.
|
69
|
+
version: 0.4.0
|
54
70
|
type: :development
|
55
71
|
prerelease: false
|
56
72
|
version_requirements: !ruby/object:Gem::Requirement
|
57
73
|
none: false
|
58
74
|
requirements:
|
59
|
-
- -
|
75
|
+
- - ! '>='
|
60
76
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
77
|
+
version: 0.4.0
|
62
78
|
- !ruby/object:Gem::Dependency
|
63
79
|
name: redis
|
64
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +82,7 @@ dependencies:
|
|
66
82
|
requirements:
|
67
83
|
- - ! '>='
|
68
84
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
85
|
+
version: 3.0.0
|
70
86
|
type: :runtime
|
71
87
|
prerelease: false
|
72
88
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -74,7 +90,7 @@ dependencies:
|
|
74
90
|
requirements:
|
75
91
|
- - ! '>='
|
76
92
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
93
|
+
version: 3.0.0
|
78
94
|
description: Stores the GeoIP databases in Redis and gives it a simple way to lookup
|
79
95
|
IPs and map them to countries
|
80
96
|
email:
|
@@ -118,7 +134,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
118
134
|
version: '0'
|
119
135
|
segments:
|
120
136
|
- 0
|
121
|
-
hash:
|
137
|
+
hash: 3796573718370968341
|
122
138
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
139
|
none: false
|
124
140
|
requirements:
|
@@ -127,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
143
|
version: '0'
|
128
144
|
segments:
|
129
145
|
- 0
|
130
|
-
hash:
|
146
|
+
hash: 3796573718370968341
|
131
147
|
requirements: []
|
132
148
|
rubyforge_project: trifle
|
133
149
|
rubygems_version: 1.8.24
|