geocoder-sgonyea 1.1.6.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -0
- data/.travis.yml +23 -0
- data/CHANGELOG.md +298 -0
- data/LICENSE +20 -0
- data/README.md +656 -0
- data/Rakefile +25 -0
- data/bin/geocode +5 -0
- data/examples/autoexpire_cache.rb +28 -0
- data/gemfiles/Gemfile.mongoid-2.4.x +15 -0
- data/lib/generators/geocoder/config/config_generator.rb +14 -0
- data/lib/generators/geocoder/config/templates/initializer.rb +21 -0
- data/lib/geocoder.rb +55 -0
- data/lib/geocoder/cache.rb +85 -0
- data/lib/geocoder/calculations.rb +319 -0
- data/lib/geocoder/cli.rb +114 -0
- data/lib/geocoder/configuration.rb +130 -0
- data/lib/geocoder/configuration_hash.rb +11 -0
- data/lib/geocoder/exceptions.rb +21 -0
- data/lib/geocoder/lookup.rb +82 -0
- data/lib/geocoder/lookups/base.rb +250 -0
- data/lib/geocoder/lookups/bing.rb +47 -0
- data/lib/geocoder/lookups/freegeoip.rb +47 -0
- data/lib/geocoder/lookups/geocoder_ca.rb +54 -0
- data/lib/geocoder/lookups/google.rb +62 -0
- data/lib/geocoder/lookups/google_premier.rb +47 -0
- data/lib/geocoder/lookups/mapquest.rb +43 -0
- data/lib/geocoder/lookups/maxmind.rb +88 -0
- data/lib/geocoder/lookups/nominatim.rb +45 -0
- data/lib/geocoder/lookups/ovi.rb +52 -0
- data/lib/geocoder/lookups/test.rb +38 -0
- data/lib/geocoder/lookups/yahoo.rb +84 -0
- data/lib/geocoder/lookups/yandex.rb +54 -0
- data/lib/geocoder/models/active_record.rb +46 -0
- data/lib/geocoder/models/base.rb +42 -0
- data/lib/geocoder/models/mongo_base.rb +60 -0
- data/lib/geocoder/models/mongo_mapper.rb +26 -0
- data/lib/geocoder/models/mongoid.rb +32 -0
- data/lib/geocoder/query.rb +103 -0
- data/lib/geocoder/railtie.rb +26 -0
- data/lib/geocoder/request.rb +23 -0
- data/lib/geocoder/results/base.rb +67 -0
- data/lib/geocoder/results/bing.rb +48 -0
- data/lib/geocoder/results/freegeoip.rb +45 -0
- data/lib/geocoder/results/geocoder_ca.rb +60 -0
- data/lib/geocoder/results/google.rb +106 -0
- data/lib/geocoder/results/google_premier.rb +6 -0
- data/lib/geocoder/results/mapquest.rb +51 -0
- data/lib/geocoder/results/maxmind.rb +136 -0
- data/lib/geocoder/results/nominatim.rb +94 -0
- data/lib/geocoder/results/ovi.rb +62 -0
- data/lib/geocoder/results/test.rb +16 -0
- data/lib/geocoder/results/yahoo.rb +55 -0
- data/lib/geocoder/results/yandex.rb +80 -0
- data/lib/geocoder/sql.rb +106 -0
- data/lib/geocoder/stores/active_record.rb +259 -0
- data/lib/geocoder/stores/base.rb +120 -0
- data/lib/geocoder/stores/mongo_base.rb +85 -0
- data/lib/geocoder/stores/mongo_mapper.rb +13 -0
- data/lib/geocoder/stores/mongoid.rb +13 -0
- data/lib/geocoder/version.rb +3 -0
- data/lib/hash_recursive_merge.rb +74 -0
- data/lib/oauth_util.rb +112 -0
- data/lib/tasks/geocoder.rake +25 -0
- data/test/active_record_test.rb +15 -0
- data/test/cache_test.rb +19 -0
- data/test/calculations_test.rb +195 -0
- data/test/configuration_test.rb +78 -0
- data/test/custom_block_test.rb +32 -0
- data/test/error_handling_test.rb +43 -0
- data/test/fixtures/bing_invalid_key +1 -0
- data/test/fixtures/bing_madison_square_garden +40 -0
- data/test/fixtures/bing_no_results +16 -0
- data/test/fixtures/bing_reverse +42 -0
- data/test/fixtures/freegeoip_74_200_247_59 +12 -0
- data/test/fixtures/freegeoip_no_results +1 -0
- data/test/fixtures/geocoder_ca_madison_square_garden +1 -0
- data/test/fixtures/geocoder_ca_no_results +1 -0
- data/test/fixtures/geocoder_ca_reverse +34 -0
- data/test/fixtures/google_garbage +456 -0
- data/test/fixtures/google_madison_square_garden +57 -0
- data/test/fixtures/google_no_city_data +44 -0
- data/test/fixtures/google_no_locality +51 -0
- data/test/fixtures/google_no_results +4 -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/nominatim_madison_square_garden +150 -0
- data/test/fixtures/nominatim_no_results +1 -0
- data/test/fixtures/ovi_madison_square_garden +72 -0
- data/test/fixtures/ovi_no_results +8 -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/fixtures/yandex_invalid_key +1 -0
- data/test/fixtures/yandex_kremlin +48 -0
- data/test/fixtures/yandex_no_city_and_town +112 -0
- data/test/fixtures/yandex_no_results +16 -0
- data/test/geocoder_test.rb +59 -0
- data/test/https_test.rb +16 -0
- data/test/integration/smoke_test.rb +26 -0
- data/test/lookup_test.rb +116 -0
- data/test/method_aliases_test.rb +25 -0
- data/test/mongoid_test.rb +39 -0
- data/test/mongoid_test_helper.rb +43 -0
- data/test/near_test.rb +43 -0
- data/test/oauth_util_test.rb +30 -0
- data/test/proxy_test.rb +23 -0
- data/test/query_test.rb +51 -0
- data/test/request_test.rb +29 -0
- data/test/result_test.rb +42 -0
- data/test/services_test.rb +277 -0
- data/test/test_helper.rb +279 -0
- data/test/test_mode_test.rb +50 -0
- metadata +170 -0
data/test/test_helper.rb
ADDED
@@ -0,0 +1,279 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
5
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
6
|
+
|
7
|
+
class MysqlConnection
|
8
|
+
def adapter_name
|
9
|
+
"mysql"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
##
|
14
|
+
# Simulate enough of ActiveRecord::Base that objects can be used for testing.
|
15
|
+
#
|
16
|
+
module ActiveRecord
|
17
|
+
class Base
|
18
|
+
|
19
|
+
def initialize
|
20
|
+
@attributes = {}
|
21
|
+
end
|
22
|
+
|
23
|
+
def read_attribute(attr_name)
|
24
|
+
@attributes[attr_name.to_sym]
|
25
|
+
end
|
26
|
+
|
27
|
+
def write_attribute(attr_name, value)
|
28
|
+
@attributes[attr_name.to_sym] = value
|
29
|
+
end
|
30
|
+
|
31
|
+
def update_attribute(attr_name, value)
|
32
|
+
write_attribute(attr_name.to_sym, value)
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.scope(*args); end
|
36
|
+
|
37
|
+
def self.connection
|
38
|
+
MysqlConnection.new
|
39
|
+
end
|
40
|
+
|
41
|
+
def method_missing(name, *args, &block)
|
42
|
+
if name.to_s[-1..-1] == "="
|
43
|
+
write_attribute name.to_s[0...-1], *args
|
44
|
+
else
|
45
|
+
read_attribute name
|
46
|
+
end
|
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
|
+
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# simulate Rails module so Railtie gets loaded
|
63
|
+
module Rails
|
64
|
+
end
|
65
|
+
|
66
|
+
# Require Geocoder after ActiveRecord simulator.
|
67
|
+
require 'geocoder'
|
68
|
+
require "geocoder/lookups/base"
|
69
|
+
|
70
|
+
##
|
71
|
+
# Mock HTTP request to geocoding service.
|
72
|
+
#
|
73
|
+
module Geocoder
|
74
|
+
module Lookup
|
75
|
+
class Base
|
76
|
+
private
|
77
|
+
def fixture_exists?(filename)
|
78
|
+
File.exist?(File.join("test", "fixtures", filename))
|
79
|
+
end
|
80
|
+
|
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
|
87
|
+
end
|
88
|
+
s
|
89
|
+
end
|
90
|
+
|
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
|
97
|
+
|
98
|
+
def fixture_prefix
|
99
|
+
handle
|
100
|
+
end
|
101
|
+
|
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
|
106
|
+
end
|
107
|
+
|
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)
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
class GooglePremier
|
116
|
+
private
|
117
|
+
def fixture_prefix
|
118
|
+
"google"
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
class Yandex
|
123
|
+
private
|
124
|
+
def default_fixture_filename
|
125
|
+
"yandex_kremlin"
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
class Freegeoip
|
130
|
+
private
|
131
|
+
def default_fixture_filename
|
132
|
+
"freegeoip_74_200_247_59"
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
class Maxmind
|
137
|
+
private
|
138
|
+
def default_fixture_filename
|
139
|
+
"maxmind_74_200_247_59"
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
##
|
147
|
+
# Geocoded model.
|
148
|
+
#
|
149
|
+
class Venue < ActiveRecord::Base
|
150
|
+
geocoded_by :address
|
151
|
+
|
152
|
+
def initialize(name, address)
|
153
|
+
super()
|
154
|
+
write_attribute :name, name
|
155
|
+
write_attribute :address, address
|
156
|
+
end
|
157
|
+
end
|
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
|
+
|
173
|
+
##
|
174
|
+
# Reverse geocoded model.
|
175
|
+
#
|
176
|
+
class Landmark < ActiveRecord::Base
|
177
|
+
reverse_geocoded_by :latitude, :longitude
|
178
|
+
|
179
|
+
def initialize(name, latitude, longitude)
|
180
|
+
super()
|
181
|
+
write_attribute :name, name
|
182
|
+
write_attribute :latitude, latitude
|
183
|
+
write_attribute :longitude, longitude
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
##
|
188
|
+
# Geocoded model with block.
|
189
|
+
#
|
190
|
+
class Event < ActiveRecord::Base
|
191
|
+
geocoded_by :address do |obj,results|
|
192
|
+
if result = results.first
|
193
|
+
obj.coords_string = "#{result.latitude},#{result.longitude}"
|
194
|
+
else
|
195
|
+
obj.coords_string = "NOT FOUND"
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
def initialize(name, address)
|
200
|
+
super()
|
201
|
+
write_attribute :name, name
|
202
|
+
write_attribute :address, address
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
206
|
+
##
|
207
|
+
# Reverse geocoded model with block.
|
208
|
+
#
|
209
|
+
class Party < ActiveRecord::Base
|
210
|
+
reverse_geocoded_by :latitude, :longitude do |obj,results|
|
211
|
+
if result = results.first
|
212
|
+
obj.country = result.country_code
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
def initialize(name, latitude, longitude)
|
217
|
+
super()
|
218
|
+
write_attribute :name, name
|
219
|
+
write_attribute :latitude, latitude
|
220
|
+
write_attribute :longitude, longitude
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
##
|
225
|
+
# Forward and reverse geocoded model.
|
226
|
+
# Should fill in whatever's missing (coords or address).
|
227
|
+
#
|
228
|
+
class GasStation < ActiveRecord::Base
|
229
|
+
geocoded_by :address, :latitude => :lat, :longitude => :lon
|
230
|
+
reverse_geocoded_by :lat, :lon, :address => :location
|
231
|
+
|
232
|
+
def initialize(name)
|
233
|
+
super()
|
234
|
+
write_attribute :name, name
|
235
|
+
end
|
236
|
+
end
|
237
|
+
|
238
|
+
|
239
|
+
class Test::Unit::TestCase
|
240
|
+
|
241
|
+
def setup
|
242
|
+
Geocoder.configure(:maxmind => {:service => :city_isp_org})
|
243
|
+
end
|
244
|
+
|
245
|
+
def teardown
|
246
|
+
Geocoder.send(:remove_const, :Configuration)
|
247
|
+
load "geocoder/configuration.rb"
|
248
|
+
end
|
249
|
+
|
250
|
+
def venue_params(abbrev)
|
251
|
+
{
|
252
|
+
:msg => ["Madison Square Garden", "4 Penn Plaza, New York, NY"]
|
253
|
+
}[abbrev]
|
254
|
+
end
|
255
|
+
|
256
|
+
def landmark_params(abbrev)
|
257
|
+
{
|
258
|
+
:msg => ["Madison Square Garden", 40.750354, -73.993371]
|
259
|
+
}[abbrev]
|
260
|
+
end
|
261
|
+
|
262
|
+
def is_nan_coordinates?(coordinates)
|
263
|
+
return false unless coordinates.respond_to? :size # Should be an array
|
264
|
+
return false unless coordinates.size == 2 # Should have dimension 2
|
265
|
+
coordinates[0].nan? && coordinates[1].nan? # Both coordinates should be NaN
|
266
|
+
end
|
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
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TestModeTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
@_original_lookup = Geocoder.config.lookup
|
7
|
+
Geocoder.configure(:lookup => :test)
|
8
|
+
end
|
9
|
+
|
10
|
+
def teardown
|
11
|
+
Geocoder::Lookup::Test.reset
|
12
|
+
Geocoder.configure(:lookup => @_original_lookup)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_search_with_known_stub
|
16
|
+
coordinates = [40.7143528, -74.0059731]
|
17
|
+
attributes = {
|
18
|
+
'coordinates' => coordinates,
|
19
|
+
'latitude' => coordinates[0],
|
20
|
+
'longitude' => coordinates[1],
|
21
|
+
'address' => 'New York, NY, USA',
|
22
|
+
'state' => 'New York',
|
23
|
+
'state_code' => 'NY',
|
24
|
+
'country' => 'United States',
|
25
|
+
'country_code' => 'US',
|
26
|
+
}
|
27
|
+
|
28
|
+
Geocoder::Lookup::Test.add_stub("New York, NY", [attributes])
|
29
|
+
|
30
|
+
results = Geocoder.search("New York, NY")
|
31
|
+
assert_equal 1, results.size
|
32
|
+
|
33
|
+
result = results.first
|
34
|
+
assert_equal coordinates, result.coordinates
|
35
|
+
assert_equal attributes['latitude'], result.latitude
|
36
|
+
assert_equal attributes['longitude'], result.longitude
|
37
|
+
assert_equal attributes['address'], result.address
|
38
|
+
assert_equal attributes['state'], result.state
|
39
|
+
assert_equal attributes['state_code'], result.state_code
|
40
|
+
assert_equal attributes['country'], result.country
|
41
|
+
assert_equal attributes['country_code'], result.country_code
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_search_with_unknown_stub
|
45
|
+
assert_raise ArgumentError do
|
46
|
+
Geocoder.search("New York, NY")
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
metadata
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: geocoder-sgonyea
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.6.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Alex Reisner
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-02-19 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: Provides object geocoding (by street or IP address), reverse geocoding
|
15
|
+
(coordinates to street address), distance queries for ActiveRecord and Mongoid,
|
16
|
+
result caching, and more. Designed for Rails but works with Sinatra and other Rack
|
17
|
+
frameworks too.
|
18
|
+
email:
|
19
|
+
- alex@alexreisner.com
|
20
|
+
executables:
|
21
|
+
- geocode
|
22
|
+
extensions: []
|
23
|
+
extra_rdoc_files: []
|
24
|
+
files:
|
25
|
+
- .gitignore
|
26
|
+
- .travis.yml
|
27
|
+
- CHANGELOG.md
|
28
|
+
- LICENSE
|
29
|
+
- README.md
|
30
|
+
- Rakefile
|
31
|
+
- bin/geocode
|
32
|
+
- examples/autoexpire_cache.rb
|
33
|
+
- gemfiles/Gemfile.mongoid-2.4.x
|
34
|
+
- lib/generators/geocoder/config/config_generator.rb
|
35
|
+
- lib/generators/geocoder/config/templates/initializer.rb
|
36
|
+
- lib/geocoder.rb
|
37
|
+
- lib/geocoder/cache.rb
|
38
|
+
- lib/geocoder/calculations.rb
|
39
|
+
- lib/geocoder/cli.rb
|
40
|
+
- lib/geocoder/configuration.rb
|
41
|
+
- lib/geocoder/configuration_hash.rb
|
42
|
+
- lib/geocoder/exceptions.rb
|
43
|
+
- lib/geocoder/lookup.rb
|
44
|
+
- lib/geocoder/lookups/base.rb
|
45
|
+
- lib/geocoder/lookups/bing.rb
|
46
|
+
- lib/geocoder/lookups/freegeoip.rb
|
47
|
+
- lib/geocoder/lookups/geocoder_ca.rb
|
48
|
+
- lib/geocoder/lookups/google.rb
|
49
|
+
- lib/geocoder/lookups/google_premier.rb
|
50
|
+
- lib/geocoder/lookups/mapquest.rb
|
51
|
+
- lib/geocoder/lookups/maxmind.rb
|
52
|
+
- lib/geocoder/lookups/nominatim.rb
|
53
|
+
- lib/geocoder/lookups/ovi.rb
|
54
|
+
- lib/geocoder/lookups/test.rb
|
55
|
+
- lib/geocoder/lookups/yahoo.rb
|
56
|
+
- lib/geocoder/lookups/yandex.rb
|
57
|
+
- lib/geocoder/models/active_record.rb
|
58
|
+
- lib/geocoder/models/base.rb
|
59
|
+
- lib/geocoder/models/mongo_base.rb
|
60
|
+
- lib/geocoder/models/mongo_mapper.rb
|
61
|
+
- lib/geocoder/models/mongoid.rb
|
62
|
+
- lib/geocoder/query.rb
|
63
|
+
- lib/geocoder/railtie.rb
|
64
|
+
- lib/geocoder/request.rb
|
65
|
+
- lib/geocoder/results/base.rb
|
66
|
+
- lib/geocoder/results/bing.rb
|
67
|
+
- lib/geocoder/results/freegeoip.rb
|
68
|
+
- lib/geocoder/results/geocoder_ca.rb
|
69
|
+
- lib/geocoder/results/google.rb
|
70
|
+
- lib/geocoder/results/google_premier.rb
|
71
|
+
- lib/geocoder/results/mapquest.rb
|
72
|
+
- lib/geocoder/results/maxmind.rb
|
73
|
+
- lib/geocoder/results/nominatim.rb
|
74
|
+
- lib/geocoder/results/ovi.rb
|
75
|
+
- lib/geocoder/results/test.rb
|
76
|
+
- lib/geocoder/results/yahoo.rb
|
77
|
+
- lib/geocoder/results/yandex.rb
|
78
|
+
- lib/geocoder/sql.rb
|
79
|
+
- lib/geocoder/stores/active_record.rb
|
80
|
+
- lib/geocoder/stores/base.rb
|
81
|
+
- lib/geocoder/stores/mongo_base.rb
|
82
|
+
- lib/geocoder/stores/mongo_mapper.rb
|
83
|
+
- lib/geocoder/stores/mongoid.rb
|
84
|
+
- lib/geocoder/version.rb
|
85
|
+
- lib/hash_recursive_merge.rb
|
86
|
+
- lib/oauth_util.rb
|
87
|
+
- lib/tasks/geocoder.rake
|
88
|
+
- test/active_record_test.rb
|
89
|
+
- test/cache_test.rb
|
90
|
+
- test/calculations_test.rb
|
91
|
+
- test/configuration_test.rb
|
92
|
+
- test/custom_block_test.rb
|
93
|
+
- test/error_handling_test.rb
|
94
|
+
- test/fixtures/bing_invalid_key
|
95
|
+
- test/fixtures/bing_madison_square_garden
|
96
|
+
- test/fixtures/bing_no_results
|
97
|
+
- test/fixtures/bing_reverse
|
98
|
+
- test/fixtures/freegeoip_74_200_247_59
|
99
|
+
- test/fixtures/freegeoip_no_results
|
100
|
+
- test/fixtures/geocoder_ca_madison_square_garden
|
101
|
+
- test/fixtures/geocoder_ca_no_results
|
102
|
+
- test/fixtures/geocoder_ca_reverse
|
103
|
+
- test/fixtures/google_garbage
|
104
|
+
- test/fixtures/google_madison_square_garden
|
105
|
+
- test/fixtures/google_no_city_data
|
106
|
+
- test/fixtures/google_no_locality
|
107
|
+
- test/fixtures/google_no_results
|
108
|
+
- test/fixtures/mapquest_madison_square_garden
|
109
|
+
- test/fixtures/mapquest_no_results
|
110
|
+
- test/fixtures/maxmind_24_24_24_21
|
111
|
+
- test/fixtures/maxmind_24_24_24_22
|
112
|
+
- test/fixtures/maxmind_24_24_24_23
|
113
|
+
- test/fixtures/maxmind_24_24_24_24
|
114
|
+
- test/fixtures/maxmind_74_200_247_59
|
115
|
+
- test/fixtures/maxmind_invalid_key
|
116
|
+
- test/fixtures/maxmind_no_results
|
117
|
+
- test/fixtures/nominatim_madison_square_garden
|
118
|
+
- test/fixtures/nominatim_no_results
|
119
|
+
- test/fixtures/ovi_madison_square_garden
|
120
|
+
- test/fixtures/ovi_no_results
|
121
|
+
- test/fixtures/yahoo_error
|
122
|
+
- test/fixtures/yahoo_invalid_key
|
123
|
+
- test/fixtures/yahoo_madison_square_garden
|
124
|
+
- test/fixtures/yahoo_no_results
|
125
|
+
- test/fixtures/yahoo_over_limit
|
126
|
+
- test/fixtures/yandex_invalid_key
|
127
|
+
- test/fixtures/yandex_kremlin
|
128
|
+
- test/fixtures/yandex_no_city_and_town
|
129
|
+
- test/fixtures/yandex_no_results
|
130
|
+
- test/geocoder_test.rb
|
131
|
+
- test/https_test.rb
|
132
|
+
- test/integration/smoke_test.rb
|
133
|
+
- test/lookup_test.rb
|
134
|
+
- test/method_aliases_test.rb
|
135
|
+
- test/mongoid_test.rb
|
136
|
+
- test/mongoid_test_helper.rb
|
137
|
+
- test/near_test.rb
|
138
|
+
- test/oauth_util_test.rb
|
139
|
+
- test/proxy_test.rb
|
140
|
+
- test/query_test.rb
|
141
|
+
- test/request_test.rb
|
142
|
+
- test/result_test.rb
|
143
|
+
- test/services_test.rb
|
144
|
+
- test/test_helper.rb
|
145
|
+
- test/test_mode_test.rb
|
146
|
+
homepage: http://www.rubygeocoder.com
|
147
|
+
licenses: []
|
148
|
+
post_install_message:
|
149
|
+
rdoc_options: []
|
150
|
+
require_paths:
|
151
|
+
- lib
|
152
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
160
|
+
requirements:
|
161
|
+
- - ! '>='
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
164
|
+
requirements: []
|
165
|
+
rubyforge_project:
|
166
|
+
rubygems_version: 1.8.23
|
167
|
+
signing_key:
|
168
|
+
specification_version: 3
|
169
|
+
summary: Complete geocoding solution for Ruby.
|
170
|
+
test_files: []
|