geocoder 1.1.3 → 1.1.6
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/.travis.yml +4 -0
- data/{CHANGELOG.rdoc → CHANGELOG.md} +109 -35
- data/README.md +645 -0
- data/examples/autoexpire_cache.rb +28 -0
- data/lib/generators/geocoder/config/templates/initializer.rb +18 -22
- data/lib/geocoder/cache.rb +2 -1
- data/lib/geocoder/calculations.rb +13 -13
- data/lib/geocoder/cli.rb +17 -19
- data/lib/geocoder/configuration.rb +68 -42
- data/lib/geocoder/configuration_hash.rb +11 -0
- data/lib/geocoder/exceptions.rb +3 -0
- data/lib/geocoder/lookup.rb +81 -0
- data/lib/geocoder/lookups/base.rb +106 -56
- data/lib/geocoder/lookups/bing.rb +25 -11
- data/lib/geocoder/lookups/freegeoip.rb +11 -7
- data/lib/geocoder/lookups/geocoder_ca.rb +17 -9
- data/lib/geocoder/lookups/google.rb +29 -8
- data/lib/geocoder/lookups/google_premier.rb +20 -11
- data/lib/geocoder/lookups/mapquest.rb +29 -19
- data/lib/geocoder/lookups/maxmind.rb +72 -0
- data/lib/geocoder/lookups/nominatim.rb +21 -13
- data/lib/geocoder/lookups/test.rb +12 -6
- data/lib/geocoder/lookups/yahoo.rb +63 -13
- data/lib/geocoder/lookups/yandex.rb +26 -11
- data/lib/geocoder/models/mongoid.rb +1 -2
- data/lib/geocoder/query.rb +103 -0
- data/lib/geocoder/request.rb +7 -1
- data/lib/geocoder/results/base.rb +8 -2
- data/lib/geocoder/results/google.rb +6 -0
- data/lib/geocoder/results/mapquest.rb +19 -34
- data/lib/geocoder/results/maxmind.rb +136 -0
- data/lib/geocoder/results/nominatim.rb +14 -3
- data/lib/geocoder/results/yahoo.rb +9 -2
- data/lib/geocoder/sql.rb +106 -0
- data/lib/geocoder/stores/active_record.rb +75 -142
- data/lib/geocoder/stores/base.rb +3 -2
- data/lib/geocoder/stores/mongo_base.rb +2 -2
- data/lib/geocoder/version.rb +1 -1
- data/lib/geocoder.rb +11 -89
- data/lib/hash_recursive_merge.rb +74 -0
- data/lib/oauth_util.rb +112 -0
- data/test/active_record_test.rb +15 -0
- data/test/cache_test.rb +19 -0
- data/test/calculations_test.rb +11 -4
- data/test/configuration_test.rb +26 -51
- data/test/error_handling_test.rb +15 -11
- data/test/fixtures/bing_invalid_key +1 -0
- data/test/fixtures/mapquest_madison_square_garden +52 -0
- data/test/fixtures/mapquest_no_results +7 -0
- data/test/fixtures/maxmind_24_24_24_21 +1 -0
- data/test/fixtures/maxmind_24_24_24_22 +1 -0
- data/test/fixtures/maxmind_24_24_24_23 +1 -0
- data/test/fixtures/maxmind_24_24_24_24 +1 -0
- data/test/fixtures/maxmind_74_200_247_59 +1 -0
- data/test/fixtures/maxmind_invalid_key +1 -0
- data/test/fixtures/maxmind_no_results +1 -0
- data/test/fixtures/yahoo_error +1 -0
- data/test/fixtures/yahoo_invalid_key +2 -0
- data/test/fixtures/yahoo_madison_square_garden +52 -0
- data/test/fixtures/yahoo_no_results +10 -0
- data/test/fixtures/yahoo_over_limit +2 -0
- data/test/https_test.rb +3 -3
- data/test/integration/smoke_test.rb +8 -6
- data/test/lookup_test.rb +92 -13
- data/test/near_test.rb +11 -0
- data/test/oauth_util_test.rb +30 -0
- data/test/proxy_test.rb +2 -2
- data/test/query_test.rb +42 -0
- data/test/result_test.rb +4 -3
- data/test/services_test.rb +164 -26
- data/test/test_helper.rb +93 -112
- data/test/test_mode_test.rb +3 -4
- metadata +52 -35
- data/README.rdoc +0 -552
- data/test/fixtures/mapquest_madison_square_garden.json +0 -27
- data/test/fixtures/mapquest_no_results.json +0 -1
- data/test/fixtures/yahoo_garbage.json +0 -50
- data/test/fixtures/yahoo_madison_square_garden.json +0 -46
- data/test/fixtures/yahoo_no_results.json +0 -10
- data/test/input_handling_test.rb +0 -43
- /data/test/fixtures/{bing_madison_square_garden.json → bing_madison_square_garden} +0 -0
- /data/test/fixtures/{bing_no_results.json → bing_no_results} +0 -0
- /data/test/fixtures/{bing_reverse.json → bing_reverse} +0 -0
- /data/test/fixtures/{freegeoip_74_200_247_59.json → freegeoip_74_200_247_59} +0 -0
- /data/test/fixtures/{freegeoip_no_results.json → freegeoip_no_results} +0 -0
- /data/test/fixtures/{geocoder_ca_madison_square_garden.json → geocoder_ca_madison_square_garden} +0 -0
- /data/test/fixtures/{geocoder_ca_no_results.json → geocoder_ca_no_results} +0 -0
- /data/test/fixtures/{geocoder_ca_reverse.json → geocoder_ca_reverse} +0 -0
- /data/test/fixtures/{google_garbage.json → google_garbage} +0 -0
- /data/test/fixtures/{google_madison_square_garden.json → google_madison_square_garden} +0 -0
- /data/test/fixtures/{google_no_city_data.json → google_no_city_data} +0 -0
- /data/test/fixtures/{google_no_locality.json → google_no_locality} +0 -0
- /data/test/fixtures/{google_no_results.json → google_no_results} +0 -0
- /data/test/fixtures/{nominatim_madison_square_garden.json → nominatim_madison_square_garden} +0 -0
- /data/test/fixtures/{nominatim_no_results.json → nominatim_no_results} +0 -0
- /data/test/fixtures/{yandex_invalid_key.json → yandex_invalid_key} +0 -0
- /data/test/fixtures/{yandex_kremlin.json → yandex_kremlin} +0 -0
- /data/test/fixtures/{yandex_no_results.json → yandex_no_results} +0 -0
data/test/test_helper.rb
CHANGED
|
@@ -4,6 +4,12 @@ require 'test/unit'
|
|
|
4
4
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
5
5
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
6
6
|
|
|
7
|
+
class MysqlConnection
|
|
8
|
+
def adapter_name
|
|
9
|
+
"mysql"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
7
13
|
##
|
|
8
14
|
# Simulate enough of ActiveRecord::Base that objects can be used for testing.
|
|
9
15
|
#
|
|
@@ -28,6 +34,10 @@ module ActiveRecord
|
|
|
28
34
|
|
|
29
35
|
def self.scope(*args); end
|
|
30
36
|
|
|
37
|
+
def self.connection
|
|
38
|
+
MysqlConnection.new
|
|
39
|
+
end
|
|
40
|
+
|
|
31
41
|
def method_missing(name, *args, &block)
|
|
32
42
|
if name.to_s[-1..-1] == "="
|
|
33
43
|
write_attribute name.to_s[0...-1], *args
|
|
@@ -35,6 +45,17 @@ module ActiveRecord
|
|
|
35
45
|
read_attribute name
|
|
36
46
|
end
|
|
37
47
|
end
|
|
48
|
+
|
|
49
|
+
class << self
|
|
50
|
+
def table_name
|
|
51
|
+
'test_table_name'
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def primary_key
|
|
55
|
+
:id
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
38
59
|
end
|
|
39
60
|
end
|
|
40
61
|
|
|
@@ -52,127 +73,70 @@ require "geocoder/lookups/base"
|
|
|
52
73
|
module Geocoder
|
|
53
74
|
module Lookup
|
|
54
75
|
class Base
|
|
55
|
-
private
|
|
56
|
-
def
|
|
57
|
-
File.
|
|
76
|
+
private
|
|
77
|
+
def fixture_exists?(filename)
|
|
78
|
+
File.exist?(File.join("test", "fixtures", filename))
|
|
58
79
|
end
|
|
59
|
-
end
|
|
60
80
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
when "no results"; :no_results
|
|
68
|
-
when "no locality"; :no_locality
|
|
69
|
-
when "no city data"; :no_city_data
|
|
70
|
-
else :madison_square_garden
|
|
81
|
+
def read_fixture(file)
|
|
82
|
+
filepath = File.join("test", "fixtures", file)
|
|
83
|
+
s = File.read(filepath).strip.gsub(/\n\s*/, "")
|
|
84
|
+
s.instance_eval do
|
|
85
|
+
def body; self; end
|
|
86
|
+
def code; "200"; end
|
|
71
87
|
end
|
|
72
|
-
|
|
88
|
+
s
|
|
73
89
|
end
|
|
74
|
-
end
|
|
75
90
|
|
|
76
|
-
|
|
77
|
-
|
|
91
|
+
##
|
|
92
|
+
# Fixture to use if none match the given query.
|
|
93
|
+
#
|
|
94
|
+
def default_fixture_filename
|
|
95
|
+
"#{fixture_prefix}_madison_square_garden"
|
|
96
|
+
end
|
|
78
97
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
def fetch_raw_data(query, reverse = false)
|
|
82
|
-
raise TimeoutError if query == "timeout"
|
|
83
|
-
raise SocketError if query == "socket_error"
|
|
84
|
-
file = case query
|
|
85
|
-
when "no results"; :no_results
|
|
86
|
-
else :madison_square_garden
|
|
87
|
-
end
|
|
88
|
-
read_fixture "yahoo_#{file}.json"
|
|
98
|
+
def fixture_prefix
|
|
99
|
+
handle
|
|
89
100
|
end
|
|
90
|
-
end
|
|
91
101
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
raise SocketError if query == "socket_error"
|
|
97
|
-
file = case query
|
|
98
|
-
when "no results"; :no_results
|
|
99
|
-
when "invalid key"; :invalid_key
|
|
100
|
-
else :kremlin
|
|
101
|
-
end
|
|
102
|
-
read_fixture "yandex_#{file}.json"
|
|
102
|
+
def fixture_for_query(query)
|
|
103
|
+
label = query.reverse_geocode? ? "reverse" : query.text.gsub(/[ \.]/, "_")
|
|
104
|
+
filename = "#{fixture_prefix}_#{label}"
|
|
105
|
+
fixture_exists?(filename) ? filename : default_fixture_filename
|
|
103
106
|
end
|
|
104
|
-
end
|
|
105
107
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
raise SocketError if query == "socket_error"
|
|
111
|
-
if reverse
|
|
112
|
-
read_fixture "geocoder_ca_reverse.json"
|
|
113
|
-
else
|
|
114
|
-
file = case query
|
|
115
|
-
when "no results"; :no_results
|
|
116
|
-
else :madison_square_garden
|
|
117
|
-
end
|
|
118
|
-
read_fixture "geocoder_ca_#{file}.json"
|
|
119
|
-
end
|
|
108
|
+
def make_api_request(query)
|
|
109
|
+
raise TimeoutError if query.text == "timeout"
|
|
110
|
+
raise SocketError if query.text == "socket_error"
|
|
111
|
+
read_fixture fixture_for_query(query)
|
|
120
112
|
end
|
|
121
113
|
end
|
|
122
114
|
|
|
123
|
-
class
|
|
124
|
-
private
|
|
125
|
-
def
|
|
126
|
-
|
|
127
|
-
raise SocketError if query == "socket_error"
|
|
128
|
-
file = case query
|
|
129
|
-
when "no results"; :no_results
|
|
130
|
-
else "74_200_247_59"
|
|
131
|
-
end
|
|
132
|
-
read_fixture "freegeoip_#{file}.json"
|
|
115
|
+
class GooglePremier
|
|
116
|
+
private
|
|
117
|
+
def fixture_prefix
|
|
118
|
+
"google"
|
|
133
119
|
end
|
|
134
120
|
end
|
|
135
121
|
|
|
136
|
-
class
|
|
137
|
-
private
|
|
138
|
-
def
|
|
139
|
-
|
|
140
|
-
raise SocketError if query == "socket_error"
|
|
141
|
-
if reverse
|
|
142
|
-
read_fixture "bing_reverse.json"
|
|
143
|
-
else
|
|
144
|
-
file = case query
|
|
145
|
-
when "no results"; :no_results
|
|
146
|
-
else :madison_square_garden
|
|
147
|
-
end
|
|
148
|
-
read_fixture "bing_#{file}.json"
|
|
149
|
-
end
|
|
122
|
+
class Yandex
|
|
123
|
+
private
|
|
124
|
+
def default_fixture_filename
|
|
125
|
+
"yandex_kremlin"
|
|
150
126
|
end
|
|
151
127
|
end
|
|
152
128
|
|
|
153
|
-
class
|
|
154
|
-
private
|
|
155
|
-
def
|
|
156
|
-
|
|
157
|
-
raise SocketError if query == "socket_error"
|
|
158
|
-
file = case query
|
|
159
|
-
when "no results"; :no_results
|
|
160
|
-
else :madison_square_garden
|
|
161
|
-
end
|
|
162
|
-
read_fixture "nominatim_#{file}.json"
|
|
129
|
+
class Freegeoip
|
|
130
|
+
private
|
|
131
|
+
def default_fixture_filename
|
|
132
|
+
"freegeoip_74_200_247_59"
|
|
163
133
|
end
|
|
164
134
|
end
|
|
165
135
|
|
|
166
|
-
class
|
|
167
|
-
private
|
|
168
|
-
def
|
|
169
|
-
|
|
170
|
-
raise SocketError if query == "socket_error"
|
|
171
|
-
file = case query
|
|
172
|
-
when "no results"; :no_results
|
|
173
|
-
else :madison_square_garden
|
|
174
|
-
end
|
|
175
|
-
read_fixture "mapquest_#{file}.json"
|
|
136
|
+
class Maxmind
|
|
137
|
+
private
|
|
138
|
+
def default_fixture_filename
|
|
139
|
+
"maxmind_74_200_247_59"
|
|
176
140
|
end
|
|
177
141
|
end
|
|
178
142
|
|
|
@@ -192,6 +156,20 @@ class Venue < ActiveRecord::Base
|
|
|
192
156
|
end
|
|
193
157
|
end
|
|
194
158
|
|
|
159
|
+
##
|
|
160
|
+
# Geocoded model.
|
|
161
|
+
# - Has user-defined primary key (not just 'id')
|
|
162
|
+
#
|
|
163
|
+
class VenuePlus < Venue
|
|
164
|
+
|
|
165
|
+
class << self
|
|
166
|
+
def primary_key
|
|
167
|
+
:custom_primary_key_id
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
end
|
|
172
|
+
|
|
195
173
|
##
|
|
196
174
|
# Reverse geocoded model.
|
|
197
175
|
#
|
|
@@ -260,6 +238,10 @@ end
|
|
|
260
238
|
|
|
261
239
|
class Test::Unit::TestCase
|
|
262
240
|
|
|
241
|
+
def setup
|
|
242
|
+
Geocoder.configure(:maxmind => {:service => :omni})
|
|
243
|
+
end
|
|
244
|
+
|
|
263
245
|
def teardown
|
|
264
246
|
Geocoder.send(:remove_const, :Configuration)
|
|
265
247
|
load "geocoder/configuration.rb"
|
|
@@ -277,22 +259,21 @@ class Test::Unit::TestCase
|
|
|
277
259
|
}[abbrev]
|
|
278
260
|
end
|
|
279
261
|
|
|
280
|
-
def all_lookups
|
|
281
|
-
Geocoder.valid_lookups
|
|
282
|
-
end
|
|
283
|
-
|
|
284
|
-
def all_lookups_except_test
|
|
285
|
-
Geocoder.valid_lookups - [:test]
|
|
286
|
-
end
|
|
287
|
-
|
|
288
|
-
def street_lookups
|
|
289
|
-
all_lookups - [:freegeoip]
|
|
290
|
-
end
|
|
291
|
-
|
|
292
262
|
def is_nan_coordinates?(coordinates)
|
|
293
263
|
return false unless coordinates.respond_to? :size # Should be an array
|
|
294
264
|
return false unless coordinates.size == 2 # Should have dimension 2
|
|
295
265
|
coordinates[0].nan? && coordinates[1].nan? # Both coordinates should be NaN
|
|
296
266
|
end
|
|
297
|
-
end
|
|
298
267
|
|
|
268
|
+
def set_api_key!(lookup_name)
|
|
269
|
+
lookup = Geocoder::Lookup.get(lookup_name)
|
|
270
|
+
if lookup.required_api_key_parts.size == 1
|
|
271
|
+
key = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
|
|
272
|
+
elsif lookup.required_api_key_parts.size > 1
|
|
273
|
+
key = lookup.required_api_key_parts
|
|
274
|
+
else
|
|
275
|
+
key = nil
|
|
276
|
+
end
|
|
277
|
+
Geocoder.configure(:api_key => key)
|
|
278
|
+
end
|
|
279
|
+
end
|
data/test/test_mode_test.rb
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
require 'test_helper'
|
|
2
|
-
require 'geocoder/lookups/test'
|
|
3
2
|
|
|
4
3
|
class TestModeTest < Test::Unit::TestCase
|
|
5
4
|
|
|
6
5
|
def setup
|
|
7
|
-
@_original_lookup = Geocoder
|
|
8
|
-
Geocoder
|
|
6
|
+
@_original_lookup = Geocoder.config.lookup
|
|
7
|
+
Geocoder.configure(:lookup => :test)
|
|
9
8
|
end
|
|
10
9
|
|
|
11
10
|
def teardown
|
|
12
11
|
Geocoder::Lookup::Test.reset
|
|
13
|
-
Geocoder
|
|
12
|
+
Geocoder.configure(:lookup => @_original_lookup)
|
|
14
13
|
end
|
|
15
14
|
|
|
16
15
|
def test_search_with_known_stub
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: geocoder
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.6
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-12-24 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
14
|
description: Provides object geocoding (by street or IP address), reverse geocoding
|
|
15
15
|
(coordinates to street address), distance queries for ActiveRecord and Mongoid,
|
|
@@ -24,11 +24,12 @@ extra_rdoc_files: []
|
|
|
24
24
|
files:
|
|
25
25
|
- .gitignore
|
|
26
26
|
- .travis.yml
|
|
27
|
-
- CHANGELOG.
|
|
27
|
+
- CHANGELOG.md
|
|
28
28
|
- LICENSE
|
|
29
|
-
- README.
|
|
29
|
+
- README.md
|
|
30
30
|
- Rakefile
|
|
31
31
|
- bin/geocode
|
|
32
|
+
- examples/autoexpire_cache.rb
|
|
32
33
|
- gemfiles/Gemfile.mongoid-2.4.x
|
|
33
34
|
- lib/generators/geocoder/config/config_generator.rb
|
|
34
35
|
- lib/generators/geocoder/config/templates/initializer.rb
|
|
@@ -37,7 +38,9 @@ files:
|
|
|
37
38
|
- lib/geocoder/calculations.rb
|
|
38
39
|
- lib/geocoder/cli.rb
|
|
39
40
|
- lib/geocoder/configuration.rb
|
|
41
|
+
- lib/geocoder/configuration_hash.rb
|
|
40
42
|
- lib/geocoder/exceptions.rb
|
|
43
|
+
- lib/geocoder/lookup.rb
|
|
41
44
|
- lib/geocoder/lookups/base.rb
|
|
42
45
|
- lib/geocoder/lookups/bing.rb
|
|
43
46
|
- lib/geocoder/lookups/freegeoip.rb
|
|
@@ -45,6 +48,7 @@ files:
|
|
|
45
48
|
- lib/geocoder/lookups/google.rb
|
|
46
49
|
- lib/geocoder/lookups/google_premier.rb
|
|
47
50
|
- lib/geocoder/lookups/mapquest.rb
|
|
51
|
+
- lib/geocoder/lookups/maxmind.rb
|
|
48
52
|
- lib/geocoder/lookups/nominatim.rb
|
|
49
53
|
- lib/geocoder/lookups/test.rb
|
|
50
54
|
- lib/geocoder/lookups/yahoo.rb
|
|
@@ -54,6 +58,7 @@ files:
|
|
|
54
58
|
- lib/geocoder/models/mongo_base.rb
|
|
55
59
|
- lib/geocoder/models/mongo_mapper.rb
|
|
56
60
|
- lib/geocoder/models/mongoid.rb
|
|
61
|
+
- lib/geocoder/query.rb
|
|
57
62
|
- lib/geocoder/railtie.rb
|
|
58
63
|
- lib/geocoder/request.rb
|
|
59
64
|
- lib/geocoder/results/base.rb
|
|
@@ -63,53 +68,71 @@ files:
|
|
|
63
68
|
- lib/geocoder/results/google.rb
|
|
64
69
|
- lib/geocoder/results/google_premier.rb
|
|
65
70
|
- lib/geocoder/results/mapquest.rb
|
|
71
|
+
- lib/geocoder/results/maxmind.rb
|
|
66
72
|
- lib/geocoder/results/nominatim.rb
|
|
67
73
|
- lib/geocoder/results/test.rb
|
|
68
74
|
- lib/geocoder/results/yahoo.rb
|
|
69
75
|
- lib/geocoder/results/yandex.rb
|
|
76
|
+
- lib/geocoder/sql.rb
|
|
70
77
|
- lib/geocoder/stores/active_record.rb
|
|
71
78
|
- lib/geocoder/stores/base.rb
|
|
72
79
|
- lib/geocoder/stores/mongo_base.rb
|
|
73
80
|
- lib/geocoder/stores/mongo_mapper.rb
|
|
74
81
|
- lib/geocoder/stores/mongoid.rb
|
|
75
82
|
- lib/geocoder/version.rb
|
|
83
|
+
- lib/hash_recursive_merge.rb
|
|
84
|
+
- lib/oauth_util.rb
|
|
76
85
|
- lib/tasks/geocoder.rake
|
|
86
|
+
- test/active_record_test.rb
|
|
87
|
+
- test/cache_test.rb
|
|
77
88
|
- test/calculations_test.rb
|
|
78
89
|
- test/configuration_test.rb
|
|
79
90
|
- test/custom_block_test.rb
|
|
80
91
|
- test/error_handling_test.rb
|
|
81
|
-
- test/fixtures/
|
|
82
|
-
- test/fixtures/
|
|
83
|
-
- test/fixtures/
|
|
84
|
-
- test/fixtures/
|
|
85
|
-
- test/fixtures/
|
|
86
|
-
- test/fixtures/
|
|
87
|
-
- test/fixtures/
|
|
88
|
-
- test/fixtures/
|
|
89
|
-
- test/fixtures/
|
|
90
|
-
- test/fixtures/
|
|
91
|
-
- test/fixtures/
|
|
92
|
-
- test/fixtures/
|
|
93
|
-
- test/fixtures/
|
|
94
|
-
- test/fixtures/
|
|
95
|
-
- test/fixtures/
|
|
96
|
-
- test/fixtures/
|
|
97
|
-
- test/fixtures/
|
|
98
|
-
- test/fixtures/
|
|
99
|
-
- test/fixtures/
|
|
100
|
-
- test/fixtures/
|
|
101
|
-
- test/fixtures/
|
|
102
|
-
- test/fixtures/
|
|
103
|
-
- test/fixtures/
|
|
92
|
+
- test/fixtures/bing_invalid_key
|
|
93
|
+
- test/fixtures/bing_madison_square_garden
|
|
94
|
+
- test/fixtures/bing_no_results
|
|
95
|
+
- test/fixtures/bing_reverse
|
|
96
|
+
- test/fixtures/freegeoip_74_200_247_59
|
|
97
|
+
- test/fixtures/freegeoip_no_results
|
|
98
|
+
- test/fixtures/geocoder_ca_madison_square_garden
|
|
99
|
+
- test/fixtures/geocoder_ca_no_results
|
|
100
|
+
- test/fixtures/geocoder_ca_reverse
|
|
101
|
+
- test/fixtures/google_garbage
|
|
102
|
+
- test/fixtures/google_madison_square_garden
|
|
103
|
+
- test/fixtures/google_no_city_data
|
|
104
|
+
- test/fixtures/google_no_locality
|
|
105
|
+
- test/fixtures/google_no_results
|
|
106
|
+
- test/fixtures/mapquest_madison_square_garden
|
|
107
|
+
- test/fixtures/mapquest_no_results
|
|
108
|
+
- test/fixtures/maxmind_24_24_24_21
|
|
109
|
+
- test/fixtures/maxmind_24_24_24_22
|
|
110
|
+
- test/fixtures/maxmind_24_24_24_23
|
|
111
|
+
- test/fixtures/maxmind_24_24_24_24
|
|
112
|
+
- test/fixtures/maxmind_74_200_247_59
|
|
113
|
+
- test/fixtures/maxmind_invalid_key
|
|
114
|
+
- test/fixtures/maxmind_no_results
|
|
115
|
+
- test/fixtures/nominatim_madison_square_garden
|
|
116
|
+
- test/fixtures/nominatim_no_results
|
|
117
|
+
- test/fixtures/yahoo_error
|
|
118
|
+
- test/fixtures/yahoo_invalid_key
|
|
119
|
+
- test/fixtures/yahoo_madison_square_garden
|
|
120
|
+
- test/fixtures/yahoo_no_results
|
|
121
|
+
- test/fixtures/yahoo_over_limit
|
|
122
|
+
- test/fixtures/yandex_invalid_key
|
|
123
|
+
- test/fixtures/yandex_kremlin
|
|
124
|
+
- test/fixtures/yandex_no_results
|
|
104
125
|
- test/geocoder_test.rb
|
|
105
126
|
- test/https_test.rb
|
|
106
|
-
- test/input_handling_test.rb
|
|
107
127
|
- test/integration/smoke_test.rb
|
|
108
128
|
- test/lookup_test.rb
|
|
109
129
|
- test/method_aliases_test.rb
|
|
110
130
|
- test/mongoid_test.rb
|
|
111
131
|
- test/mongoid_test_helper.rb
|
|
132
|
+
- test/near_test.rb
|
|
133
|
+
- test/oauth_util_test.rb
|
|
112
134
|
- test/proxy_test.rb
|
|
135
|
+
- test/query_test.rb
|
|
113
136
|
- test/result_test.rb
|
|
114
137
|
- test/services_test.rb
|
|
115
138
|
- test/test_helper.rb
|
|
@@ -126,21 +149,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
126
149
|
- - ! '>='
|
|
127
150
|
- !ruby/object:Gem::Version
|
|
128
151
|
version: '0'
|
|
129
|
-
segments:
|
|
130
|
-
- 0
|
|
131
|
-
hash: 585705263
|
|
132
152
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
153
|
none: false
|
|
134
154
|
requirements:
|
|
135
155
|
- - ! '>='
|
|
136
156
|
- !ruby/object:Gem::Version
|
|
137
157
|
version: '0'
|
|
138
|
-
segments:
|
|
139
|
-
- 0
|
|
140
|
-
hash: 585705263
|
|
141
158
|
requirements: []
|
|
142
159
|
rubyforge_project:
|
|
143
|
-
rubygems_version: 1.8.
|
|
160
|
+
rubygems_version: 1.8.23
|
|
144
161
|
signing_key:
|
|
145
162
|
specification_version: 3
|
|
146
163
|
summary: Complete geocoding solution for Ruby.
|