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 CHANGED
@@ -1,7 +1,7 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 964d3db61abcfa9bbe2d95d74cfbd6dff9455184
4
- data.tar.gz: ac8c3ac65b9f0348f92a482ccd216d4b9e6e3a5a
5
- SHA512:
6
- metadata.gz: a7ad5b2491c7bd77d6704fd9e50c35d8860c013ee0e11e41f4e6e5d039a417166f664784e4895dca3fc876e748b91f17a0402d3be5ea66227270f52891d0ddf3
7
- data.tar.gz: b88419201129e2cfb85ddd5301414cdb76cc69079895206e78a225a149e51f6dadb71ddc0ca032e95bfb64f257856dcb5858659b2cbe671f31e5400c20622a5f
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
@@ -1,3 +1,7 @@
1
+ ## 1.8.1
2
+
3
+ * Change way keys/dependencies defined
4
+
1
5
  ## 1.8.0
2
6
 
3
7
  * Added Bing Geocoder
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::yahoo = 'REPLACE_WITH_YOUR_YAHOO_KEY'
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::google_client_id = ''
116
- Geokit::Geocoders::google_cryptographic_key = ''
117
- Geokit::Geocoders::google_channel = ''
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::geocoder_us = false
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::geocoder_ca = false
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.
@@ -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=#{Geokit::Geocoders::bing}#{culture_string}&o=xml"
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=#{Geokit::Geocoders::geocoder_ca}" if Geokit::Geocoders::geocoder_ca
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 Geokit::Geocoders::geonames
27
- "http://ws.geonames.net#{params}&username=#{Geokit::Geocoders::geonames}"
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 Geokit::Geocoders::google_client_id && Geokit::Geocoders::google_cryptographic_key
73
- channel = Geokit::Geocoders::google_channel ? "&channel=#{Geokit::Geocoders::google_channel}" : ''
74
- urlToSign = query_string + "&client=#{Geokit::Geocoders::google_client_id}" + channel
75
- signature = sign_gmap_bus_api_url(urlToSign, Geokit::Geocoders::google_cryptographic_key)
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=#{Geokit::Geocoders::mapquest}&location=#{latlng.lat},#{latlng.lng}"
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=#{Geokit::Geocoders::mapquest}&location=#{Geokit::Inflector::url_escape(address_str)}"
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 Geokit::Geocoders::geocoder_us
14
- "http://#{Geokit::Geocoders::geocoder_us}@geocoder.us/member/service/csv/geocode"
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 = Geocoders::yahoo_consumer_key
14
- o.consumer_secret = Geocoders::yahoo_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=#{Geokit::Geocoders::yandex}" if Geokit::Geocoders::yandex
21
+ url += "&key=#{key}" if key
20
22
  url
21
23
  end
22
24
 
@@ -1,3 +1,3 @@
1
1
  module Geokit
2
- VERSION = '1.8.0'
2
+ VERSION = '1.8.1'
3
3
  end
@@ -1,6 +1,6 @@
1
1
  require File.join(File.dirname(__FILE__), 'helper')
2
2
 
3
- Geokit::Geocoders::bing = 'AuWcmtBIoPeOubm9BtcN44hTmWw_wNoJ5NEO2L0RaKrGAUE_nlwciKAqwapdq7k7'
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
- url = "http://dev.virtualearth.net/REST/v1/Locations/#{URI.escape(@full_address)}?key=#{Geokit::Geocoders::bing}&o=xml"
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
- url = "http://dev.virtualearth.net/REST/v1/Locations/#{URI.escape(address)}?key=#{Geokit::Geocoders::bing}&o=xml"
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
- url = "http://dev.virtualearth.net/REST/v1/Locations/#{URI.escape(address)}?key=#{Geokit::Geocoders::bing}&o=xml"
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
@@ -1,6 +1,6 @@
1
1
  require File.join(File.dirname(__FILE__), 'helper')
2
2
 
3
- Geokit::Geocoders::geocoder_ca = "SOMEKEYVALUE"
3
+ Geokit::Geocoders::CaGeocoder::key = "SOMEKEYVALUE"
4
4
 
5
5
  class CaGeocoderTest < BaseGeocoderTest #:nodoc: all
6
6
 
@@ -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::google_client_id = 'clientID'
36
- Geokit::Geocoders::google_cryptographic_key = 'vNIXE0xscrmjlyV-12Nj_BvUPaw='
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::google_client_id = nil
39
- Geokit::Geocoders::google_cryptographic_key = nil
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"}}]
@@ -1,6 +1,6 @@
1
1
  require File.join(File.dirname(__FILE__), 'helper')
2
2
 
3
- Geokit::Geocoders::geocoder_us = nil
3
+ Geokit::Geocoders::UsGeocoder.key = nil
4
4
 
5
5
  class UsGeocoderTest < BaseGeocoderTest #:nodoc: all
6
6
 
@@ -1,7 +1,7 @@
1
1
  require File.join(File.dirname(__FILE__), 'helper')
2
2
 
3
- Geokit::Geocoders::yahoo_consumer_key = 'dj0yJmk9cXByQVN2WHZmTVhDJmQ9WVdrOVZscG1WVWhOTldrbWNHbzlNakF6TlRJME16UTJNZy0tJnM9Y29uc3VtZXJzZWNyZXQmeD0zNg--'
4
- Geokit::Geocoders::yahoo_consumer_secret = 'SECRET'
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.0
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
- date: 2013-12-26 00:00:00.000000000 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: multi_json
18
- requirement: !ruby/object:Gem::Requirement
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
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - '>='
28
- - !ruby/object:Gem::Version
29
- version: 1.3.2
30
- - !ruby/object:Gem::Dependency
31
- name: bundler
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
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - '>'
42
- - !ruby/object:Gem::Version
43
- version: '1.0'
44
- - !ruby/object:Gem::Dependency
45
- name: simplecov
46
- requirement: !ruby/object:Gem::Requirement
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
- version_requirements: !ruby/object:Gem::Requirement
54
- requirements:
55
- - - '>='
56
- - !ruby/object:Gem::Version
57
- version: '0'
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
- version_requirements: !ruby/object:Gem::Requirement
68
- requirements:
69
- - - '>='
70
- - !ruby/object:Gem::Version
71
- version: '0'
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
- version_requirements: !ruby/object:Gem::Requirement
82
- requirements:
83
- - - '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
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
- version_requirements: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - '>='
98
- - !ruby/object:Gem::Version
99
- version: '0'
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
- version_requirements: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - '>='
112
- - !ruby/object:Gem::Version
113
- version: '0'
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
- version_requirements: !ruby/object:Gem::Requirement
124
- requirements:
125
- - - '>='
126
- - !ruby/object:Gem::Version
127
- version: '0'
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
- version_requirements: !ruby/object:Gem::Requirement
138
- requirements:
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
- extra_rdoc_files:
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
- - !ruby/object:Gem::Version
243
- version: '0'
244
- required_rubygems_version: !ruby/object:Gem::Requirement
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.1.11
204
+ rubygems_version: 2.0.14
252
205
  signing_key:
253
206
  specification_version: 4
254
- summary: 'Geokit: encoding and distance calculation gem'
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