geokit 1.8.0 → 1.8.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.
- checksums.yaml +7 -7
- data/CHANGELOG.md +4 -0
- data/README.markdown +13 -6
- data/lib/geokit/geocoders.rb +13 -13
- data/lib/geokit/geocoders/bing.rb +2 -2
- data/lib/geokit/geocoders/ca_geocoder.rb +2 -1
- data/lib/geokit/geocoders/geonames.rb +3 -2
- data/lib/geokit/geocoders/google.rb +5 -4
- data/lib/geokit/geocoders/mapquest.rb +3 -2
- data/lib/geokit/geocoders/us_geocoder.rb +3 -2
- data/lib/geokit/geocoders/yahoo.rb +3 -2
- data/lib/geokit/geocoders/yandex.rb +3 -1
- data/lib/geokit/version.rb +1 -1
- data/test/test_bing_geocoder.rb +7 -4
- data/test/test_ca_geocoder.rb +1 -1
- data/test/test_google_geocoder.rb +4 -8
- data/test/test_openstreetmap_geocoder.rb +0 -2
- data/test/test_us_geocoder.rb +1 -1
- data/test/test_yahoo_geocoder.rb +2 -2
- data/test/test_yandex_geocoder.rb +0 -2
- metadata +87 -134
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
---
|
2
|
+
SHA512:
|
3
|
+
data.tar.gz: 09020bb1e0b4fd79479277c02fa59d3ce9b443b679df55822ac06a50cb3848dfd1e093d43e23a0f03736eead51e2126adaf62104b3dc3563799ab912bf837a55
|
4
|
+
metadata.gz: ad583bd4f48c42e5cc2880b7950e3f564ffc16f449efe359364892f23300cbe38803fd7435140329feaefacc85415b92428789e44ec5e7f8101e8f377013d14b
|
5
|
+
SHA1:
|
6
|
+
data.tar.gz: 657c7dbe8d563f7fc3ac2f3382d748bb1d551019
|
7
|
+
metadata.gz: c10facc376715511adf49805a214ad0bd5a38678
|
data/CHANGELOG.md
CHANGED
data/README.markdown
CHANGED
@@ -107,14 +107,15 @@ If you're using this gem by itself, here are the configuration options:
|
|
107
107
|
# This is your yahoo application key for the Yahoo Geocoder.
|
108
108
|
# See http://developer.yahoo.com/faq/index.html#appid
|
109
109
|
# and http://developer.yahoo.com/maps/rest/V1/geocode.html
|
110
|
-
Geokit::Geocoders::
|
110
|
+
Geokit::Geocoders::YahooGeocoder.key = 'REPLACE_WITH_YOUR_YAHOO_KEY'
|
111
|
+
Geokit::Geocoders::YahooGeocoder.secret = 'REPLACE_WITH_YOUR_YAHOO_SECRET'
|
111
112
|
|
112
113
|
# This is your Google Maps geocoder keys (all optional).
|
113
114
|
# See http://www.google.com/apis/maps/signup.html
|
114
115
|
# and http://www.google.com/apis/maps/documentation/#Geocoding_Examples
|
115
|
-
Geokit::Geocoders::
|
116
|
-
Geokit::Geocoders::
|
117
|
-
Geokit::Geocoders::
|
116
|
+
Geokit::Geocoders::GoogleGeocoder.client_id = ''
|
117
|
+
Geokit::Geocoders::GoogleGeocoder.cryptographic_key = ''
|
118
|
+
Geokit::Geocoders::GoogleGeocoder.channel = ''
|
118
119
|
|
119
120
|
# You can also set multiple API KEYS for different domains that may be directed to this same application.
|
120
121
|
# The domain from which the current user is being directed will automatically be updated for Geokit via
|
@@ -127,7 +128,7 @@ If you're using this gem by itself, here are the configuration options:
|
|
127
128
|
# usage tied to an account, the value should be set to username:password.
|
128
129
|
# See http://geocoder.us
|
129
130
|
# and http://geocoder.us/user/signup
|
130
|
-
Geokit::Geocoders::
|
131
|
+
Geokit::Geocoders::UsGeocoder.key = 'username:password'
|
131
132
|
|
132
133
|
# This is your authorization key for geocoder.ca.
|
133
134
|
# To use the free service, the value can be set to nil or false. For
|
@@ -135,7 +136,13 @@ If you're using this gem by itself, here are the configuration options:
|
|
135
136
|
# Geocoder.ca.
|
136
137
|
# See http://geocoder.ca
|
137
138
|
# and http://geocoder.ca/?register=1
|
138
|
-
Geokit::Geocoders::
|
139
|
+
Geokit::Geocoders::CaGeocoder.key = 'KEY'
|
140
|
+
|
141
|
+
# Most other geocoders need either no setup or a key
|
142
|
+
Geokit::Geocoders::BingGeocoder.key = ''
|
143
|
+
Geokit::Geocoders::GeonamesGeocoder.key = ''
|
144
|
+
Geokit::Geocoders::MapQuestGeocoder.key = ''
|
145
|
+
Geokit::Geocoders::YandexGeocoder.key = ''
|
139
146
|
|
140
147
|
# require "external_geocoder.rb"
|
141
148
|
# Please see the section "writing your own geocoders" for more information.
|
data/lib/geokit/geocoders.rb
CHANGED
@@ -32,24 +32,11 @@ module Geokit
|
|
32
32
|
module Geocoders
|
33
33
|
@@proxy = nil
|
34
34
|
@@request_timeout = nil
|
35
|
-
@@bing = 'REPLACE_WITH_YOUR_BING_KEY'
|
36
|
-
@@bing_options = {}
|
37
|
-
@@yahoo_consumer_key = 'REPLACE_WITH_YOUR_YAHOO_BOSS_OAUTH_CONSUMER_KEY'
|
38
|
-
@@yahoo_consumer_secret = 'REPLACE_WITH_YOUR_YAHOO_BOSS_OAUTH_CONSUMER_SECRET'
|
39
|
-
@@yandex = nil
|
40
|
-
@@mapquest = 'REPLACE_WITH_YOUR_MAPQUEST_KEY'
|
41
|
-
@@google_client_id = nil
|
42
|
-
@@google_cryptographic_key = nil
|
43
|
-
@@google_channel = nil
|
44
|
-
@@geocoder_us = false
|
45
|
-
@@geocoder_ca = false
|
46
|
-
@@geonames = false
|
47
35
|
@@provider_order = [:google,:us]
|
48
36
|
@@ip_provider_order = [:geo_plugin,:ip]
|
49
37
|
@@logger=Logger.new(STDOUT)
|
50
38
|
@@logger.level=Logger::INFO
|
51
39
|
@@domain = nil
|
52
|
-
@@osm = 'REPLACE_WITH_YOUR_OSM_KEY' #if needed
|
53
40
|
|
54
41
|
def self.__define_accessors
|
55
42
|
class_variables.each do |v|
|
@@ -89,6 +76,19 @@ module Geokit
|
|
89
76
|
# The Geocoder base class which defines the interface to be used by all
|
90
77
|
# other geocoders.
|
91
78
|
class Geocoder
|
79
|
+
def self.config(*attrs)
|
80
|
+
attrs.each do |attr|
|
81
|
+
class_eval <<-METHOD
|
82
|
+
@@#{attr} = nil
|
83
|
+
def self.#{attr}=(value)
|
84
|
+
@@#{attr} = value
|
85
|
+
end
|
86
|
+
def self.#{attr}
|
87
|
+
@@#{attr}
|
88
|
+
end
|
89
|
+
METHOD
|
90
|
+
end
|
91
|
+
end
|
92
92
|
# Main method which calls the do_geocode template method which subclasses
|
93
93
|
# are responsible for implementing. Returns a populated GeoLoc or an
|
94
94
|
# empty one with a failed success code.
|
@@ -3,6 +3,7 @@ module Geokit
|
|
3
3
|
# Bing geocoder implementation. Requires the Geokit::Geocoders::bing variable to
|
4
4
|
# contain a Bing Maps API key. Conforms to the interface set by the Geocoder class.
|
5
5
|
class BingGeocoder < Geocoder
|
6
|
+
config :key, :options
|
6
7
|
|
7
8
|
private
|
8
9
|
|
@@ -17,11 +18,10 @@ module Geokit
|
|
17
18
|
end
|
18
19
|
|
19
20
|
def self.submit_url(address)
|
20
|
-
options = Geokit::Geocoders::bing_options
|
21
21
|
culture = options && options[:culture]
|
22
22
|
culture_string = culture ? "&c=#{culture}" : ''
|
23
23
|
address_str = address.is_a?(GeoLoc) ? address.to_geocodeable_s : address
|
24
|
-
"http://dev.virtualearth.net/REST/v1/Locations/#{URI.escape(address_str)}?key=#{
|
24
|
+
"http://dev.virtualearth.net/REST/v1/Locations/#{URI.escape(address_str)}?key=#{key}#{culture_string}&o=xml"
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.parse_xml(xml)
|
@@ -12,6 +12,7 @@
|
|
12
12
|
module Geokit
|
13
13
|
module Geocoders
|
14
14
|
class CaGeocoder < Geocoder
|
15
|
+
config :key
|
15
16
|
|
16
17
|
private
|
17
18
|
|
@@ -41,7 +42,7 @@ module Geokit
|
|
41
42
|
args << "city=#{Geokit::Inflector::url_escape(loc.city)}" if loc.city
|
42
43
|
args << "prov=#{loc.state}" if loc.state
|
43
44
|
args << "postal=#{loc.zip}" if loc.zip
|
44
|
-
args << "auth=#{
|
45
|
+
args << "auth=#{key}" if key
|
45
46
|
args << "geoit=xml"
|
46
47
|
'http://geocoder.ca/?' + args.join('&')
|
47
48
|
end
|
@@ -3,6 +3,7 @@ module Geokit
|
|
3
3
|
# Another geocoding web service
|
4
4
|
# http://www.geonames.org
|
5
5
|
class GeonamesGeocoder < Geocoder
|
6
|
+
config :key
|
6
7
|
|
7
8
|
private
|
8
9
|
|
@@ -23,8 +24,8 @@ module Geokit
|
|
23
24
|
address_str.gsub!(/,/, " ")
|
24
25
|
params = "/postalCodeSearch?placename=#{Geokit::Inflector::url_escape(address_str)}&maxRows=10"
|
25
26
|
|
26
|
-
if
|
27
|
-
"http://ws.geonames.net#{params}&username=#{
|
27
|
+
if key
|
28
|
+
"http://ws.geonames.net#{params}&username=#{key}"
|
28
29
|
else
|
29
30
|
"http://ws.geonames.org#{params}"
|
30
31
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module Geokit
|
2
2
|
module Geocoders
|
3
3
|
class GoogleGeocoder < Geocoder
|
4
|
+
config :client_id, :cryptographic_key, :channel
|
4
5
|
|
5
6
|
private
|
6
7
|
# Template method which does the reverse-geocode lookup.
|
@@ -69,10 +70,10 @@ module Geokit
|
|
69
70
|
|
70
71
|
|
71
72
|
def self.submit_url(query_string)
|
72
|
-
if
|
73
|
-
channel =
|
74
|
-
urlToSign = query_string + "&client=#{
|
75
|
-
signature = sign_gmap_bus_api_url(urlToSign,
|
73
|
+
if client_id && cryptographic_key
|
74
|
+
channel = channel ? "&channel=#{channel}" : ''
|
75
|
+
urlToSign = query_string + "&client=#{client_id}" + channel
|
76
|
+
signature = sign_gmap_bus_api_url(urlToSign, cryptographic_key)
|
76
77
|
"http://maps.googleapis.com" + urlToSign + "&signature=#{signature}"
|
77
78
|
else
|
78
79
|
"http://maps.google.com" + query_string
|
@@ -3,13 +3,14 @@ module Geokit
|
|
3
3
|
# MapQuest geocoder implementation. Requires the Geokit::Geocoders::mapquest variable to
|
4
4
|
# contain a MapQuest API key. Conforms to the interface set by the Geocoder class.
|
5
5
|
class MapQuestGeocoder < Geocoder
|
6
|
+
config :key
|
6
7
|
|
7
8
|
private
|
8
9
|
|
9
10
|
# Template method which does the reverse-geocode lookup.
|
10
11
|
def self.do_reverse_geocode(latlng)
|
11
12
|
latlng=LatLng.normalize(latlng)
|
12
|
-
url = "http://www.mapquestapi.com/geocoding/v1/reverse?key=#{
|
13
|
+
url = "http://www.mapquestapi.com/geocoding/v1/reverse?key=#{key}&location=#{latlng.lat},#{latlng.lng}"
|
13
14
|
res = call_geocoder_service(url)
|
14
15
|
return GeoLoc.new if !res.is_a?(Net::HTTPSuccess)
|
15
16
|
json = res.body
|
@@ -20,7 +21,7 @@ module Geokit
|
|
20
21
|
# Template method which does the geocode lookup.
|
21
22
|
def self.do_geocode(address)
|
22
23
|
address_str = address.is_a?(GeoLoc) ? address.to_geocodeable_s : address
|
23
|
-
url = "http://www.mapquestapi.com/geocoding/v1/address?key=#{
|
24
|
+
url = "http://www.mapquestapi.com/geocoding/v1/address?key=#{key}&location=#{Geokit::Inflector::url_escape(address_str)}"
|
24
25
|
res = call_geocoder_service(url)
|
25
26
|
return GeoLoc.new if !res.is_a?(Net::HTTPSuccess)
|
26
27
|
json = res.body
|
@@ -4,14 +4,15 @@
|
|
4
4
|
module Geokit
|
5
5
|
module Geocoders
|
6
6
|
class UsGeocoder < Geocoder
|
7
|
+
config :key
|
7
8
|
|
8
9
|
private
|
9
10
|
def self.do_geocode(address)
|
10
11
|
address_str = address.is_a?(GeoLoc) ? address.to_geocodeable_s : address
|
11
12
|
|
12
13
|
query = (address_str =~ /^\d{5}(?:-\d{4})?$/ ? "zip" : "address") + "=#{Geokit::Inflector::url_escape(address_str)}"
|
13
|
-
url = if
|
14
|
-
"http://#{
|
14
|
+
url = if key
|
15
|
+
"http://#{key}@geocoder.us/member/service/csv/geocode"
|
15
16
|
else
|
16
17
|
"http://geocoder.us/service/csv/geocode"
|
17
18
|
end
|
@@ -3,6 +3,7 @@ module Geokit
|
|
3
3
|
# Yahoo geocoder implementation. Requires the Geokit::Geocoders::YAHOO variable to
|
4
4
|
# contain a Yahoo API key. Conforms to the interface set by the Geocoder class.
|
5
5
|
class YahooGeocoder < Geocoder
|
6
|
+
config :key, :secret
|
6
7
|
|
7
8
|
private
|
8
9
|
def self.submit_url(address)
|
@@ -10,8 +11,8 @@ module Geokit
|
|
10
11
|
query_string = "?q=#{Geokit::Inflector::url_escape(address_str)}&flags=J"
|
11
12
|
|
12
13
|
o = OauthUtil.new
|
13
|
-
o.consumer_key =
|
14
|
-
o.consumer_secret =
|
14
|
+
o.consumer_key = key
|
15
|
+
o.consumer_secret = secret
|
15
16
|
base = "http://yboss.yahooapis.com/geo/placefinder"
|
16
17
|
parsed_url = URI.parse("#{base}#{query_string}")
|
17
18
|
"#{base}?#{o.sign(parsed_url).query_string}"
|
@@ -3,6 +3,8 @@ module Geokit
|
|
3
3
|
# Yandex geocoder implementation. Expects the Geokit::Geocoders::YANDEX variable to
|
4
4
|
# contain a Yandex API key (optional). Conforms to the interface set by the Geocoder class.
|
5
5
|
class YandexGeocoder < Geocoder
|
6
|
+
config :key
|
7
|
+
|
6
8
|
private
|
7
9
|
|
8
10
|
# Template method which does the geocode lookup.
|
@@ -16,7 +18,7 @@ module Geokit
|
|
16
18
|
|
17
19
|
def self.submit_url(address_str)
|
18
20
|
url = "http://geocode-maps.yandex.ru/1.x/?geocode=#{Geokit::Inflector::url_escape(address_str)}&format=json"
|
19
|
-
url += "&key=#{
|
21
|
+
url += "&key=#{key}" if key
|
20
22
|
url
|
21
23
|
end
|
22
24
|
|
data/lib/geokit/version.rb
CHANGED
data/test/test_bing_geocoder.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), 'helper')
|
2
2
|
|
3
|
-
Geokit::Geocoders::
|
3
|
+
Geokit::Geocoders::BingGeocoder.key = 'AuWcmtBIoPeOubm9BtcN44hTmWw_wNoJ5NEO2L0RaKrGAUE_nlwciKAqwapdq7k7'
|
4
4
|
|
5
5
|
class BingGeocoderTest < BaseGeocoderTest #:nodoc: all
|
6
6
|
|
@@ -15,7 +15,8 @@ class BingGeocoderTest < BaseGeocoderTest #:nodoc: all
|
|
15
15
|
# the testing methods themselves
|
16
16
|
def test_bing_full_address
|
17
17
|
VCR.use_cassette('bing_full') do
|
18
|
-
|
18
|
+
key = Geokit::Geocoders::BingGeocoder.key
|
19
|
+
url = "http://dev.virtualearth.net/REST/v1/Locations/#{URI.escape(@full_address)}?key=#{key}&o=xml"
|
19
20
|
res = Geokit::Geocoders::BingGeocoder.geocode(@full_address)
|
20
21
|
assert_equal "CA", res.state
|
21
22
|
assert_equal "San Francisco", res.city
|
@@ -30,7 +31,8 @@ class BingGeocoderTest < BaseGeocoderTest #:nodoc: all
|
|
30
31
|
def test_bing_full_address_au
|
31
32
|
address = '440 King William Street, Adelaide, Australia'
|
32
33
|
VCR.use_cassette('bing_full_au') do
|
33
|
-
|
34
|
+
key = Geokit::Geocoders::BingGeocoder.key
|
35
|
+
url = "http://dev.virtualearth.net/REST/v1/Locations/#{URI.escape(address)}?key=#{key}&o=xml"
|
34
36
|
res = Geokit::Geocoders::BingGeocoder.geocode(address)
|
35
37
|
assert_equal "SA", res.state
|
36
38
|
assert_equal "Adelaide", res.city
|
@@ -46,7 +48,8 @@ class BingGeocoderTest < BaseGeocoderTest #:nodoc: all
|
|
46
48
|
def test_bing_full_address_de
|
47
49
|
address = "Platz der Republik 1, 11011 Berlin, Germany"
|
48
50
|
VCR.use_cassette('bing_full_de') do
|
49
|
-
|
51
|
+
key = Geokit::Geocoders::BingGeocoder.key
|
52
|
+
url = "http://dev.virtualearth.net/REST/v1/Locations/#{URI.escape(address)}?key=#{key}&o=xml"
|
50
53
|
res = Geokit::Geocoders::BingGeocoder.geocode(address)
|
51
54
|
assert_equal "BE", res.state
|
52
55
|
assert_equal "Berlin", res.city
|
data/test/test_ca_geocoder.rb
CHANGED
@@ -1,10 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
require File.join(File.dirname(__FILE__), 'helper')
|
3
3
|
|
4
|
-
Geokit::Geocoders::google_client_id = nil
|
5
|
-
Geokit::Geocoders::google_cryptographic_key = nil
|
6
|
-
Geokit::Geocoders::google_channel = nil
|
7
|
-
|
8
4
|
class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
|
9
5
|
|
10
6
|
def setup
|
@@ -32,11 +28,11 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
|
|
32
28
|
# Example from:
|
33
29
|
# https://developers.google.com/maps/documentation/business/webservices#signature_examples
|
34
30
|
def test_google_signature_and_url
|
35
|
-
Geokit::Geocoders::
|
36
|
-
Geokit::Geocoders::
|
31
|
+
Geokit::Geocoders::GoogleGeocoder.client_id = 'clientID'
|
32
|
+
Geokit::Geocoders::GoogleGeocoder.cryptographic_key = 'vNIXE0xscrmjlyV-12Nj_BvUPaw='
|
37
33
|
url = Geokit::Geocoders::GoogleGeocoder.send(:submit_url, '/maps/api/geocode/json?address=New+York&sensor=false')
|
38
|
-
Geokit::Geocoders::
|
39
|
-
Geokit::Geocoders::
|
34
|
+
Geokit::Geocoders::GoogleGeocoder.client_id = nil
|
35
|
+
Geokit::Geocoders::GoogleGeocoder.cryptographic_key = nil
|
40
36
|
assert_equal 'http://maps.googleapis.com/maps/api/geocode/json?address=New+York&sensor=false&client=clientID&signature=KrU1TzVQM7Ur0i8i7K3huiw3MsA=', url
|
41
37
|
end
|
42
38
|
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require File.join(File.dirname(__FILE__), 'helper')
|
3
3
|
|
4
|
-
Geokit::Geocoders::osm = 'OSM'
|
5
|
-
|
6
4
|
class OSMGeocoderTest < BaseGeocoderTest #:nodoc: all
|
7
5
|
OSM_FULL=<<-EOF.strip
|
8
6
|
[{"place_id":"425554497","licence":"Data Copyright OpenStreetMap Contributors, Some Rights Reserved. CC-BY-SA 2.0.","boundingbox":["37.792341","37.792441","-122.394074","-122.393974"],"lat":"37.792391","lon":"-122.394024","display_name":"100, Spear Street, Financial District, San Francisco, California, 94105, United States of America","class":"place","type":"house","address":{"house_number":"100","road":"Spear Street","place":"Financial District","city":"San Francisco","county":"San Francisco","state":"California","postcode":"94105","country":"United States of America","country_code":"us"}}]
|
data/test/test_us_geocoder.rb
CHANGED
data/test/test_yahoo_geocoder.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), 'helper')
|
2
2
|
|
3
|
-
Geokit::Geocoders::
|
4
|
-
Geokit::Geocoders::
|
3
|
+
Geokit::Geocoders::YahooGeocoder.key = 'dj0yJmk9cXByQVN2WHZmTVhDJmQ9WVdrOVZscG1WVWhOTldrbWNHbzlNakF6TlRJME16UTJNZy0tJnM9Y29uc3VtZXJzZWNyZXQmeD0zNg--'
|
4
|
+
Geokit::Geocoders::YahooGeocoder.secret = 'SECRET'
|
5
5
|
|
6
6
|
class YahooGeocoderTest < BaseGeocoderTest #:nodoc: all
|
7
7
|
def setup
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
require File.join(File.dirname(__FILE__), 'helper')
|
3
3
|
|
4
|
-
# Geokit::Geocoders::yandex = 'yandex'
|
5
|
-
|
6
4
|
class YandexGeocoderTest < BaseGeocoderTest #:nodoc: all
|
7
5
|
YANDEX_FULL=<<-EOF.strip
|
8
6
|
{"response":{"GeoObjectCollection":{"metaDataProperty":{"GeocoderResponseMetaData":{"request":"Москва, улица Новый Арбат, дом 24","found":"1","results":"10"}},"featureMember":[{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"house","text":"Россия, Москва, улица Новый Арбат, 24","precision":"exact","AddressDetails":{"Country":{"AddressLine":"Москва, улица Новый Арбат, 24","CountryNameCode":"RU","CountryName":"Россия","Locality":{"LocalityName":"Москва","Thoroughfare":{"ThoroughfareName":"улица Новый Арбат","Premise":{"PremiseNumber":"24"}}}}}}},"description":"Москва, Россия","name":"улица Новый Арбат, 24","boundedBy":{"Envelope":{"lowerCorner":"37.585565 55.751928","upperCorner":"37.589662 55.754238"}},"Point":{"pos":"37.587614 55.753083"}}}]}}}
|
metadata
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: geokit
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.8.1
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Michael Noack
|
8
8
|
- James Cox
|
9
9
|
- Andre Lewis
|
@@ -11,143 +11,98 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
14
|
+
|
15
|
+
date: 2013-12-26 00:00:00 Z
|
16
|
+
dependencies:
|
17
|
+
- !ruby/object:Gem::Dependency
|
18
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
22
|
version: 1.3.2
|
23
23
|
type: :runtime
|
24
|
+
name: multi_json
|
24
25
|
prerelease: false
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
- !ruby/object:Gem::
|
31
|
-
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
requirements:
|
34
|
-
- - '>'
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: '1.0'
|
26
|
+
requirement: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: "1.0"
|
37
33
|
type: :development
|
34
|
+
name: bundler
|
38
35
|
prerelease: false
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
-
|
45
|
-
|
46
|
-
|
47
|
-
requirements:
|
48
|
-
- - '>='
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: '0'
|
36
|
+
requirement: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- &id004
|
41
|
+
- ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: "0"
|
51
44
|
type: :development
|
45
|
+
name: simplecov
|
52
46
|
prerelease: false
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: simplecov-rcov
|
60
|
-
requirement: !ruby/object:Gem::Requirement
|
61
|
-
requirements:
|
62
|
-
- - '>='
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: '0'
|
47
|
+
requirement: *id003
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- *id004
|
65
52
|
type: :development
|
53
|
+
name: simplecov-rcov
|
66
54
|
prerelease: false
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
- !ruby/object:Gem::Dependency
|
73
|
-
name: rake
|
74
|
-
requirement: !ruby/object:Gem::Requirement
|
75
|
-
requirements:
|
76
|
-
- - '>='
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version: '0'
|
55
|
+
requirement: *id005
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- *id004
|
79
60
|
type: :development
|
61
|
+
name: rake
|
80
62
|
prerelease: false
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
- !ruby/object:Gem::Dependency
|
87
|
-
name: mocha
|
88
|
-
requirement: !ruby/object:Gem::Requirement
|
89
|
-
requirements:
|
90
|
-
- - '>='
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: '0'
|
63
|
+
requirement: *id006
|
64
|
+
- !ruby/object:Gem::Dependency
|
65
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- *id004
|
93
68
|
type: :development
|
69
|
+
name: mocha
|
94
70
|
prerelease: false
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
- !ruby/object:Gem::Dependency
|
101
|
-
name: coveralls
|
102
|
-
requirement: !ruby/object:Gem::Requirement
|
103
|
-
requirements:
|
104
|
-
- - '>='
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: '0'
|
71
|
+
requirement: *id007
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- *id004
|
107
76
|
type: :development
|
77
|
+
name: coveralls
|
108
78
|
prerelease: false
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
- !ruby/object:Gem::Dependency
|
115
|
-
name: vcr
|
116
|
-
requirement: !ruby/object:Gem::Requirement
|
117
|
-
requirements:
|
118
|
-
- - '>='
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: '0'
|
79
|
+
requirement: *id008
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- *id004
|
121
84
|
type: :development
|
85
|
+
name: vcr
|
122
86
|
prerelease: false
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
- !ruby/object:Gem::Dependency
|
129
|
-
name: webmock
|
130
|
-
requirement: !ruby/object:Gem::Requirement
|
131
|
-
requirements:
|
132
|
-
- - '>='
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: '0'
|
87
|
+
requirement: *id009
|
88
|
+
- !ruby/object:Gem::Dependency
|
89
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- *id004
|
135
92
|
type: :development
|
93
|
+
name: webmock
|
136
94
|
prerelease: false
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '0'
|
142
|
-
description: Geokit provides geocoding and distance calculation in an easy-to-use
|
143
|
-
API
|
144
|
-
email:
|
95
|
+
requirement: *id010
|
96
|
+
description: Geokit provides geocoding and distance calculation in an easy-to-use API
|
97
|
+
email:
|
145
98
|
- michael+geokit@noack.com.au
|
146
99
|
executables: []
|
100
|
+
|
147
101
|
extensions: []
|
148
|
-
|
102
|
+
|
103
|
+
extra_rdoc_files:
|
149
104
|
- README.markdown
|
150
|
-
files:
|
105
|
+
files:
|
151
106
|
- .gitignore
|
152
107
|
- .travis.yml
|
153
108
|
- CHANGELOG.md
|
@@ -227,32 +182,30 @@ files:
|
|
227
182
|
- test/test_yahoo_geocoder.rb
|
228
183
|
- test/test_yandex_geocoder.rb
|
229
184
|
homepage: http://github.com/geokit/geokit
|
230
|
-
licenses:
|
185
|
+
licenses:
|
231
186
|
- MIT
|
232
187
|
metadata: {}
|
188
|
+
|
233
189
|
post_install_message:
|
234
|
-
rdoc_options:
|
190
|
+
rdoc_options:
|
235
191
|
- --main
|
236
192
|
- README.markdown
|
237
|
-
require_paths:
|
193
|
+
require_paths:
|
238
194
|
- lib
|
239
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
requirements:
|
246
|
-
- - '>='
|
247
|
-
- !ruby/object:Gem::Version
|
248
|
-
version: '0'
|
195
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- *id004
|
198
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
199
|
+
requirements:
|
200
|
+
- *id004
|
249
201
|
requirements: []
|
202
|
+
|
250
203
|
rubyforge_project:
|
251
|
-
rubygems_version: 2.
|
204
|
+
rubygems_version: 2.0.14
|
252
205
|
signing_key:
|
253
206
|
specification_version: 4
|
254
|
-
summary:
|
255
|
-
test_files:
|
207
|
+
summary: "Geokit: encoding and distance calculation gem"
|
208
|
+
test_files:
|
256
209
|
- test/helper.rb
|
257
210
|
- test/test_base_geocoder.rb
|
258
211
|
- test/test_bing_geocoder.rb
|