rack-geoip 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -41,8 +41,9 @@ And then in an initializer block
41
41
 
42
42
  config.middleware.use "Rack::Geoip",
43
43
  :db => 'data/GeoLiteCity.dat',
44
- :path => '/geoip/info'
45
-
44
+ :path => '/geoip/info',
45
+ :db_lookup => :memory
46
+
46
47
  === Sample output
47
48
 
48
49
  $ curl http://localhost:9292/lookup?ip=8.8.8.8
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
data/lib/rack/geoip.rb CHANGED
@@ -25,7 +25,8 @@ module Rack #:nodoc:
25
25
  #
26
26
  # config.middleware.use "Rack::Geoip",
27
27
  # :db => 'data/GeoLiteCity.dat',
28
- # :path => '/geoip/info'
28
+ # :path => '/geoip/info',
29
+ # :db_lookup => :memory
29
30
  #
30
31
  module Geoip
31
32
  autoload :Lookup, 'rack/geoip/lookup'
@@ -34,4 +35,4 @@ module Rack #:nodoc:
34
35
  Lookup.new(backend,options)
35
36
  end
36
37
  end
37
- end
38
+ end
@@ -5,11 +5,11 @@ module Rack::Geoip
5
5
  # Implements Rack's middleware interface and provides the geoip
6
6
  # lookup service
7
7
  class Lookup
8
- DEFAULT = {:path => '/geoip/lookup', :db => 'GeoLiteCity.dat'}
8
+ DEFAULT = {:path => '/geoip/lookup', :db => 'GeoLiteCity.dat', :db_lookup => :memory}
9
9
 
10
10
  def initialize(app, options={})
11
11
  @app, @options = app, DEFAULT.merge(options)
12
- @db = GeoIPCity::Database.new(@options[:db])
12
+ @db = GeoIPCity::Database.new(@options[:db], @options[:db_lookup])
13
13
  end
14
14
 
15
15
  def call(env)
@@ -29,4 +29,4 @@ module Rack::Geoip
29
29
  end
30
30
  end
31
31
  end
32
- end
32
+ end
data/rack-geoip.gemspec CHANGED
@@ -1,46 +1,44 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rack-geoip}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Chris Kraybill"]
12
- s.date = %q{2010-08-25}
12
+ s.date = %q{2011-01-03}
13
13
  s.description = %q{A rack middleware component that handles simple geoip lookups.}
14
14
  s.email = %q{ckraybill@gmail.com}
15
15
  s.extra_rdoc_files = [
16
16
  "README",
17
- "TODO"
17
+ "TODO"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- "COPYING",
23
- "README",
24
- "Rakefile",
25
- "TODO",
26
- "VERSION",
27
- "examples/basic.ru",
28
- "lib/rack-geoip.rb",
29
- "lib/rack/geoip.rb",
30
- "lib/rack/geoip/lookup.rb",
31
- "rack-geoip.gemspec",
32
- "spec/rack-geoip_spec.rb",
33
- "spec/spec.opts",
34
- "spec/spec_helper.rb"
21
+ "COPYING",
22
+ "README",
23
+ "Rakefile",
24
+ "TODO",
25
+ "VERSION",
26
+ "examples/basic.ru",
27
+ "lib/rack-geoip.rb",
28
+ "lib/rack/geoip.rb",
29
+ "lib/rack/geoip/lookup.rb",
30
+ "rack-geoip.gemspec",
31
+ "spec/rack-geoip_spec.rb",
32
+ "spec/spec.opts",
33
+ "spec/spec_helper.rb"
35
34
  ]
36
35
  s.homepage = %q{http://github.com/ckraybill/rack-geoip}
37
- s.rdoc_options = ["--charset=UTF-8"]
38
36
  s.require_paths = ["lib"]
39
37
  s.rubygems_version = %q{1.3.7}
40
38
  s.summary = %q{A rack middleware component that handles simple geoip lookups.}
41
39
  s.test_files = [
42
40
  "spec/rack-geoip_spec.rb",
43
- "spec/spec_helper.rb"
41
+ "spec/spec_helper.rb"
44
42
  ]
45
43
 
46
44
  if s.respond_to? :specification_version then
@@ -20,7 +20,7 @@ describe "RackGeoip" do
20
20
  it 'should return 404 when a geocode lookup request has malformed parameters' do
21
21
  get '/geocode/lookup'
22
22
  last_response.status.should == 404
23
- last_response.body.should == 'Example usage: http:///geocode/lookup?ip=8.8.8.8'
23
+ last_response.body.should == 'Example usage: http://example.org/geocode/lookup?ip=8.8.8.8'
24
24
  end
25
25
 
26
26
  # This makes sure that the response is JSON parse-able
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-geoip
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Chris Kraybill
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-25 00:00:00 -07:00
18
+ date: 2011-01-03 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -73,7 +73,6 @@ extra_rdoc_files:
73
73
  - TODO
74
74
  files:
75
75
  - .document
76
- - .gitignore
77
76
  - COPYING
78
77
  - README
79
78
  - Rakefile
@@ -92,8 +91,8 @@ homepage: http://github.com/ckraybill/rack-geoip
92
91
  licenses: []
93
92
 
94
93
  post_install_message:
95
- rdoc_options:
96
- - --charset=UTF-8
94
+ rdoc_options: []
95
+
97
96
  require_paths:
98
97
  - lib
99
98
  required_ruby_version: !ruby/object:Gem::Requirement
data/.gitignore DELETED
@@ -1,22 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC
22
- data