geocoder-sgonyea 1.1.6.1
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/.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: []
|