gmaps_geocoding 0.0.4 → 0.1.0
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 -0
- data/.ruby-version +1 -1
- data/.versions.conf +1 -1
- data/.yardopts +2 -0
- data/Gemfile +2 -0
- data/README.md +2 -2
- data/Rakefile +8 -1
- data/gmaps_geocoding.gemspec +4 -3
- data/lib/gmaps_geocoding/api.rb +72 -19
- data/lib/gmaps_geocoding/config.rb +52 -6
- data/lib/gmaps_geocoding/version.rb +1 -1
- data/test/gmaps_geocoding_test.rb +24 -10
- data/test/test_helper.rb +6 -0
- metadata +36 -38
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e0eb2ba63ab2f125d3002741bcb198fe93d5f880
|
4
|
+
data.tar.gz: df00924a0a27c88b2976db2f03d09611aa8b6190
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 79a5ff100b66ecb148e30babe4a8003e09746603a225ffcdb0b0bae4481e23171d76f7e3336503922ccf69e26d041df618b387f4f76ba27e3686dcf57a13e1d2
|
7
|
+
data.tar.gz: 1bcb5295f1e08aac1a9778b998cddadb1f2c3c4cc191e92ba28848b06f3267cb41c86105a371307cc215544bbc3add7ec99740620edb589f00ca62b94d9b90b3
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-
|
1
|
+
ruby-2.0.0@gmaps_geocoding
|
data/.versions.conf
CHANGED
data/.yardopts
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'bundler/gem_tasks'
|
3
3
|
require 'rake/testtask'
|
4
|
+
require 'yard'
|
4
5
|
|
5
6
|
lib = File.expand_path('../lib/', __FILE__)
|
6
7
|
$:.unshift lib unless $:.include?(lib)
|
@@ -24,8 +25,14 @@ end
|
|
24
25
|
|
25
26
|
Rake::TestTask.new do |t|
|
26
27
|
t.libs << 'lib/gmaps_geocoding'
|
27
|
-
t.test_files = FileList['test
|
28
|
+
t.test_files = FileList['test/**/*_test.rb']
|
28
29
|
t.verbose = true
|
29
30
|
end
|
30
31
|
|
32
|
+
desc 'Generate documentation'
|
33
|
+
YARD::Rake::YardocTask.new do |t|
|
34
|
+
t.files = ['lib/**/*.rb', '-', 'LICENSE.txt']
|
35
|
+
t.options = ['--main', 'README.md', '--no-private']
|
36
|
+
end
|
37
|
+
|
31
38
|
task default: :test
|
data/gmaps_geocoding.gemspec
CHANGED
@@ -23,8 +23,9 @@ Gem::Specification.new do |s|
|
|
23
23
|
|
24
24
|
s.add_runtime_dependency 'rest-client', '~> 1.6.7'
|
25
25
|
s.add_runtime_dependency 'yajl-ruby', '~> 1.1.0'
|
26
|
-
s.add_runtime_dependency 'nori', '~> 2.0
|
27
|
-
s.add_runtime_dependency 'nokogiri', '
|
28
|
-
s.add_development_dependency 'bundler', '~> 1.3'
|
26
|
+
s.add_runtime_dependency 'nori', '~> 2.2.0'
|
27
|
+
s.add_runtime_dependency 'nokogiri', '~> 1.6.0'
|
28
|
+
s.add_development_dependency 'bundler', '~> 1.3.5'
|
29
29
|
s.add_development_dependency 'rake'
|
30
|
+
s.add_development_dependency 'yard'
|
30
31
|
end
|
data/lib/gmaps_geocoding/api.rb
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
module GmapsGeocoding
|
4
|
+
# Google Maps Geocoding Service abstraction class
|
5
|
+
#
|
6
|
+
# @example
|
7
|
+
# opts = {address: 'Tour Eiffel, Paris, IDF, France', output: 'json'}
|
8
|
+
# api = GmapsGeocoding::Api.new(opts)
|
9
|
+
#
|
4
10
|
class Api
|
5
11
|
attr_reader :config
|
6
12
|
|
@@ -8,12 +14,21 @@ module GmapsGeocoding
|
|
8
14
|
@config = Config.new(opts)
|
9
15
|
end
|
10
16
|
|
17
|
+
# Return a Ruby Hash object of the Google Maps Geocoding Service response
|
18
|
+
#
|
19
|
+
# {https://developers.google.com/maps/documentation/geocoding/ Google Maps Geocoding Service documentation}.
|
20
|
+
#
|
21
|
+
# @example
|
22
|
+
# # json output example
|
23
|
+
# opts = {address: 'Tour Eiffel, Paris, IDF, France', output: 'json'}
|
24
|
+
# api = GmapsGeocoding::Api.new(opts)
|
25
|
+
# result = api.get_location
|
26
|
+
# # xml output example
|
27
|
+
# opts = {address: 'Tour Eiffel, Paris, IDF, France', output: 'xml'}
|
28
|
+
# api = GmapsGeocoding::Api.new(opts)
|
29
|
+
# result = api.get_location
|
30
|
+
#
|
11
31
|
def get_location
|
12
|
-
get_gmaps_data
|
13
|
-
end
|
14
|
-
|
15
|
-
private
|
16
|
-
def get_gmaps_data
|
17
32
|
begin
|
18
33
|
if @config.valid?
|
19
34
|
rest_client = retrieve_geocoding_data
|
@@ -21,7 +36,6 @@ module GmapsGeocoding
|
|
21
36
|
when true
|
22
37
|
GmapsGeocoding.from_json(rest_client.to_s)
|
23
38
|
else
|
24
|
-
# Xml parser
|
25
39
|
GmapsGeocoding.from_xml(rest_client.to_s)
|
26
40
|
end
|
27
41
|
return result
|
@@ -32,6 +46,44 @@ module GmapsGeocoding
|
|
32
46
|
nil
|
33
47
|
end
|
34
48
|
|
49
|
+
# Get the best latlng for an address based on Google Maps Geocoder "location_type"
|
50
|
+
#
|
51
|
+
# location_type stores additional data about the specified location. The following values are currently supported:
|
52
|
+
# google.maps.GeocoderLocationType.ROOFTOP indicates that the returned result reflects a precise geocode.
|
53
|
+
# google.maps.GeocoderLocationType.RANGE_INTERPOLATED indicates that the returned result reflects an approximation (usually on a road) interpolated between two precise points (such as intersections). Interpolated results are generally returned when rooftop geocodes are unavailable for a street address.
|
54
|
+
# google.maps.GeocoderLocationType.GEOMETRIC_CENTER indicates that the returned result is the geometric center of a result such as a polyline (for example, a street) or polygon (region).
|
55
|
+
# google.maps.GeocoderLocationType.APPROXIMATE indicates that the returned result is approximate.
|
56
|
+
#
|
57
|
+
# @example
|
58
|
+
# # json output example
|
59
|
+
# opts = {address: 'Tour Eiffel, Paris, IDF, France', output: 'json'}
|
60
|
+
# api = GmapsGeocoding::Api.new(opts)
|
61
|
+
# data = api.get_location
|
62
|
+
# if data.include?('status') && data['status'].eql?('OK') # or more simple : if data.include?('results')
|
63
|
+
# return get_finest_latlng(data['results']) # output : [2.291018, 48.857269]
|
64
|
+
# end
|
65
|
+
#
|
66
|
+
# @param data_result [Array] The json#results or xml#result array from {#get_location} method
|
67
|
+
# @return [Array] array contains latitude and longitude of the location
|
68
|
+
def get_finest_latlng(data_result)
|
69
|
+
tmp_result = {}
|
70
|
+
data = data_result
|
71
|
+
data.each do |d|
|
72
|
+
tmp_result["#{d['geometry']['location_type']}"] = {lng: d['geometry']['location']['lng'].to_f,
|
73
|
+
lat: d['geometry']['location']['lat'].to_f}
|
74
|
+
end
|
75
|
+
if tmp_result.include?('ROOFTOP')
|
76
|
+
[tmp_result['ROOFTOP'][:lng], tmp_result['ROOFTOP'][:lat]]
|
77
|
+
elsif tmp_result.include?('RANGE_INTERPOLATED')
|
78
|
+
[tmp_result['RANGE_INTERPOLATED'][:lng], tmp_result['RANGE_INTERPOLATED'][:lat]]
|
79
|
+
elsif tmp_result.include?('GEOMETRIC_CENTER')
|
80
|
+
[tmp_result['GEOMETRIC_CENTER'][:lng], tmp_result['GEOMETRIC_CENTER'][:lat]]
|
81
|
+
else
|
82
|
+
[tmp_result['APPROXIMATE'][:lng], tmp_result['APPROXIMATE'][:lat]]
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
private
|
35
87
|
def build_url_query
|
36
88
|
query = {}
|
37
89
|
query[:address] = @config.address if @config.address
|
@@ -47,24 +99,25 @@ module GmapsGeocoding
|
|
47
99
|
|
48
100
|
def retrieve_geocoding_data
|
49
101
|
require 'rest-client'
|
50
|
-
data = build_url_query
|
102
|
+
data = build_url_query()
|
51
103
|
RestClient.get data[:url], params: data[:query]
|
52
104
|
end
|
53
105
|
end
|
54
106
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
107
|
+
class << self
|
108
|
+
def from_json(json)
|
109
|
+
require 'yajl/json_gem'
|
110
|
+
Yajl::Parser.parse(json)
|
111
|
+
end
|
59
112
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
113
|
+
def from_xml(xml)
|
114
|
+
require 'nori'
|
115
|
+
result = Nori.new(parser: :nokogiri).parse(xml)
|
116
|
+
if result.include?('GeocodeResponse')
|
117
|
+
result['GeocodeResponse']
|
118
|
+
else
|
119
|
+
{status: 'UNKNOWN_ERROR'}
|
120
|
+
end
|
67
121
|
end
|
68
|
-
n
|
69
122
|
end
|
70
123
|
end
|
@@ -1,9 +1,8 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
module GmapsGeocoding
|
4
|
+
# Configuration class for GmapsGeocoding API.
|
4
5
|
class Config
|
5
|
-
attr_reader :options
|
6
|
-
|
7
6
|
def initialize(opts = {})
|
8
7
|
@options = {url: 'https://maps.googleapis.com/maps/api/geocode'}
|
9
8
|
@options[:output] = ENV['GOOGLE_MAPS_GEOCODING_OUTPUT'] || opts[:output] || 'json'
|
@@ -17,61 +16,108 @@ module GmapsGeocoding
|
|
17
16
|
@options.merge!(opts).reject!{|_, v| v.to_s.length == 0 }
|
18
17
|
end
|
19
18
|
|
19
|
+
# URL of the Google Maps Geocoding Service
|
20
|
+
#
|
21
|
+
# @return [String] URL of the Google Maps Geocoding Service
|
20
22
|
def url
|
21
23
|
@options[:url]
|
22
24
|
end
|
23
25
|
|
26
|
+
# Output format of the Google Maps Geocoding Service
|
27
|
+
#
|
28
|
+
# @return [String] Output format of the Google Maps Geocoding Service. Only _xml_ or _json_ formats are available
|
24
29
|
def output
|
25
30
|
@options[:output]
|
26
31
|
end
|
27
32
|
|
33
|
+
# The address that you want to geocode
|
34
|
+
#
|
35
|
+
# @return [String] The address that you want to geocode.
|
28
36
|
def address
|
29
37
|
@options[:address]
|
30
38
|
end
|
31
39
|
|
40
|
+
# The textual latitude/longitude value for which you wish to obtain the closest, human-readable address
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# "40.714224,-73.961452"
|
44
|
+
#
|
45
|
+
# @return [String] The textual latitude/longitude value for which you wish to obtain the closest, human-readable address
|
32
46
|
def latlng
|
33
47
|
@options[:latlng]
|
34
48
|
end
|
35
|
-
|
49
|
+
# A component filter for which you wish to obtain a geocode
|
50
|
+
#
|
51
|
+
# {https://developers.google.com/maps/documentation/geocoding/#ComponentFiltering}
|
52
|
+
# @return [String] A component filter for which you wish to obtain a geocode
|
36
53
|
def components
|
37
54
|
@options[:components]
|
38
55
|
end
|
39
56
|
|
57
|
+
# Indicates whether or not the geocoding request comes from a device with a location sensor.
|
58
|
+
#
|
59
|
+
# @return [String] Indicates whether or not the geocoding request comes from a device with a location sensor. Must be either "true" or "false".
|
40
60
|
def sensor
|
41
61
|
@options[:sensor]
|
42
62
|
end
|
43
63
|
|
64
|
+
# The bounding box of the viewport within which to bias geocode results more prominently
|
65
|
+
#
|
66
|
+
# {https://developers.google.com/maps/documentation/geocoding/#Viewports}
|
67
|
+
# @return [String] The bounding box of the viewport within which to bias geocode results more prominently
|
44
68
|
def bounds
|
45
69
|
@options[:bounds]
|
46
70
|
end
|
47
71
|
|
72
|
+
# The language in which to return results
|
73
|
+
#
|
74
|
+
# @return [String] The language in which to return results. {https://developers.google.com/maps/faq#languagesupport Supported languages}.
|
48
75
|
def language
|
49
76
|
@options[:language]
|
50
77
|
end
|
51
78
|
|
79
|
+
# The region code, specified as a ccTLD ("top-level domain") two-character value
|
80
|
+
#
|
81
|
+
# {https://developers.google.com/maps/documentation/geocoding/#RegionCodes}
|
82
|
+
# @return [String] The region code, specified as a ccTLD ("top-level domain") two-character value
|
52
83
|
def region
|
53
84
|
@options[:region]
|
54
85
|
end
|
55
86
|
|
87
|
+
# Check if the configuration object is valid
|
88
|
+
#
|
89
|
+
# @return [true, false] Return _true_ or _false_
|
56
90
|
def valid?
|
57
|
-
|
58
|
-
is_output_param_valid?
|
91
|
+
is_query_valid? && is_output_param_valid?
|
59
92
|
end
|
60
93
|
|
94
|
+
# Check if the output format of the query is set to _json_
|
95
|
+
#
|
96
|
+
# @return [true, false] Return _true_ or _false_
|
61
97
|
def is_json_format?
|
62
98
|
'json'.eql?(output)
|
63
99
|
end
|
64
100
|
|
101
|
+
# Check if the output format of the query is set to _xml_
|
102
|
+
#
|
103
|
+
# @return [true, false] Return _true_ or _false_
|
65
104
|
def is_xml_format?
|
66
105
|
'xml'.eql?(output)
|
67
106
|
end
|
68
107
|
|
69
108
|
private
|
109
|
+
# Check if the query is valid
|
110
|
+
#
|
111
|
+
# According to the specifications: {https://developers.google.com/maps/documentation/geocoding/#GeocodingRequests}
|
70
112
|
def is_query_valid?
|
71
113
|
(@options[:address].to_s.length > 0 && @options[:latlng].to_s.length == 0) ||
|
72
|
-
(@options[:address].to_s.length == 0 && @options[:latlng].to_s.length > 0)
|
114
|
+
(@options[:address].to_s.length == 0 && @options[:latlng].to_s.length > 0) ||
|
115
|
+
(@options[:components].to_s.length > 0)
|
73
116
|
end
|
74
117
|
|
118
|
+
# Check if the output format is valid
|
119
|
+
#
|
120
|
+
# According to the specifications: {https://developers.google.com/maps/documentation/geocoding/#GeocodingResponses}
|
75
121
|
def is_output_param_valid?
|
76
122
|
['json', 'xml'].include?(output)
|
77
123
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'test/unit'
|
3
|
+
require_relative 'test_helper'
|
3
4
|
require 'gmaps_geocoding'
|
4
5
|
|
5
6
|
class GmapsGeocodingTest < Test::Unit::TestCase
|
@@ -7,45 +8,58 @@ class GmapsGeocodingTest < Test::Unit::TestCase
|
|
7
8
|
config = GmapsGeocoding::Config.new
|
8
9
|
assert_not_nil config
|
9
10
|
assert_equal false, config.valid?
|
10
|
-
assert_equal 3, config.options.length
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_config_address_set
|
14
14
|
config = GmapsGeocoding::Config.new({address: 'Tour Eiffel, IDF, Paris, France'})
|
15
15
|
assert_not_nil config
|
16
16
|
assert_equal true, config.valid?
|
17
|
-
assert_equal 4, config.options.length
|
18
17
|
end
|
19
18
|
|
20
19
|
def test_config_latlng_set
|
21
20
|
config = GmapsGeocoding::Config.new({latlng: '40.714224,-73.961452'})
|
22
21
|
assert_not_nil config
|
23
22
|
assert_equal true, config.valid?
|
24
|
-
assert_equal 4, config.options.length
|
25
23
|
end
|
26
24
|
|
27
25
|
def test_config_address_latlng_set
|
28
26
|
config = GmapsGeocoding::Config.new({address: 'Tour Eiffel, IDF, Paris, France', latlng: '40.714224,-73.961452'})
|
29
27
|
assert_not_nil config
|
30
28
|
assert_equal false, config.valid?
|
31
|
-
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_config_url
|
32
|
+
config = GmapsGeocoding::Config.new({url: 'http://fakeurl.com'})
|
33
|
+
assert_equal 'http://fakeurl.com', config.url
|
32
34
|
end
|
33
35
|
|
34
36
|
def test_api_json_set
|
35
37
|
opts = {address: 'Tour Eiffel, Paris, IDF, France', output: 'json'}
|
36
38
|
api = GmapsGeocoding::Api.new(opts)
|
37
|
-
result = api.get_location
|
38
39
|
assert_not_nil api
|
39
|
-
|
40
|
-
|
40
|
+
|
41
|
+
result_location = api.get_location
|
42
|
+
assert_not_nil result_location
|
43
|
+
assert_kind_of Hash, result_location
|
44
|
+
assert_include result_location, 'results'
|
45
|
+
|
46
|
+
result_latlng = api.get_finest_latlng(result_location['results'])
|
47
|
+
assert_not_nil result_latlng
|
48
|
+
assert_instance_of Array, result_latlng
|
41
49
|
end
|
42
50
|
|
43
51
|
def test_api_xml_set
|
44
52
|
opts = {address: 'Tour Eiffel, Paris, IDF, France', output: 'xml'}
|
45
53
|
api = GmapsGeocoding::Api.new(opts)
|
46
|
-
result = api.get_location
|
47
54
|
assert_not_nil api
|
48
|
-
|
49
|
-
|
55
|
+
|
56
|
+
result_location = api.get_location
|
57
|
+
assert_not_nil result_location
|
58
|
+
assert_kind_of Hash, result_location
|
59
|
+
assert_include result_location, 'result'
|
60
|
+
|
61
|
+
result_latlng = api.get_finest_latlng(result_location['result'])
|
62
|
+
assert_not_nil result_latlng
|
63
|
+
assert_instance_of Array, result_latlng
|
50
64
|
end
|
51
65
|
end
|
data/test/test_helper.rb
ADDED
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gmaps_geocoding
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Christian Kakesa
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-07-03 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rest-client
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: yajl-ruby
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,68 +41,74 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: nori
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: 2.0
|
47
|
+
version: 2.2.0
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version: 2.0
|
54
|
+
version: 2.2.0
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: nokogiri
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version: 1.
|
61
|
+
version: 1.6.0
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
version: 1.
|
68
|
+
version: 1.6.0
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: bundler
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - ~>
|
84
74
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
75
|
+
version: 1.3.5
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - ~>
|
92
81
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
82
|
+
version: 1.3.5
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: rake
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: yard
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
100
102
|
- !ruby/object:Gem::Version
|
101
103
|
version: '0'
|
102
104
|
type: :development
|
103
105
|
prerelease: false
|
104
106
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
107
|
requirements:
|
107
|
-
- -
|
108
|
+
- - '>='
|
108
109
|
- !ruby/object:Gem::Version
|
109
110
|
version: '0'
|
110
|
-
description:
|
111
|
+
description: "\n A simple Ruby gem for Google Maps Geocoding API.\n This gem
|
111
112
|
return a Ruby Hash object of the result.\n "
|
112
113
|
email:
|
113
114
|
- christian.kakesa@gmail.com
|
@@ -119,6 +120,7 @@ files:
|
|
119
120
|
- .ruby-version
|
120
121
|
- .travis.yml
|
121
122
|
- .versions.conf
|
123
|
+
- .yardopts
|
122
124
|
- Gemfile
|
123
125
|
- LICENSE.txt
|
124
126
|
- README.md
|
@@ -129,36 +131,32 @@ files:
|
|
129
131
|
- lib/gmaps_geocoding/config.rb
|
130
132
|
- lib/gmaps_geocoding/version.rb
|
131
133
|
- test/gmaps_geocoding_test.rb
|
134
|
+
- test/test_helper.rb
|
132
135
|
homepage: https://github.com/fenicks/gmaps_geocoding
|
133
136
|
licenses:
|
134
137
|
- MIT
|
138
|
+
metadata: {}
|
135
139
|
post_install_message:
|
136
140
|
rdoc_options: []
|
137
141
|
require_paths:
|
138
142
|
- lib
|
139
143
|
required_ruby_version: !ruby/object:Gem::Requirement
|
140
|
-
none: false
|
141
144
|
requirements:
|
142
|
-
- -
|
145
|
+
- - '>='
|
143
146
|
- !ruby/object:Gem::Version
|
144
147
|
version: '0'
|
145
|
-
segments:
|
146
|
-
- 0
|
147
|
-
hash: 2934266397705908237
|
148
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
|
-
none: false
|
150
149
|
requirements:
|
151
|
-
- -
|
150
|
+
- - '>='
|
152
151
|
- !ruby/object:Gem::Version
|
153
152
|
version: '0'
|
154
|
-
segments:
|
155
|
-
- 0
|
156
|
-
hash: 2934266397705908237
|
157
153
|
requirements: []
|
158
154
|
rubyforge_project:
|
159
|
-
rubygems_version:
|
155
|
+
rubygems_version: 2.0.3
|
160
156
|
signing_key:
|
161
|
-
specification_version:
|
157
|
+
specification_version: 4
|
162
158
|
summary: Use Google Geocoding API from Ruby.
|
163
159
|
test_files:
|
164
160
|
- test/gmaps_geocoding_test.rb
|
161
|
+
- test/test_helper.rb
|
162
|
+
has_rdoc:
|