google_maps_geocoder 0.3.1 → 0.4.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- N2IzNjAyZDM5YWVlOWM3YjM0NTQ0Yjk4ZWU3NWNiYjk2NDBiOTliYw==
5
- data.tar.gz: !binary |-
6
- NDA3NGI5YmFkZmQ3ZmI1NjExOTU4N2UwOTMyZGU5M2Q0N2RhMTJmMw==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- ZGFiNmM3MDg0Y2FmZDMwMjBiOTFkOTA5MmQ5NTU1ZGQ1NWMxMjgxMDJmODVm
10
- Y2ExNTIwZGY4M2ZiZDIwYmRhYmZlY2M4NGNmNDY4OWJjYmZkODA2Y2NlY2M5
11
- ZDAzZmY2YThmYzhjZTM3MmZmOWEyY2M1ZWJlODQ4MGE0N2YyYjQ=
12
- data.tar.gz: !binary |-
13
- ZDNhMzgyOWQzODE5NDk1NDdlZGQ5MzZlZTRjNTYxNzMyMTIzNDcyMTg3Nzgw
14
- NjMyNjI2ZTFhOGY2YmVlYjA2N2Y3Y2NjNDhjMmFhZDhiZTgzOTZhN2RjMzE0
15
- NDhlMDdhYmRiNGNhMmE1YjJhMDU0NWU3ZDQyMWUxMWQzMjM2OTA=
2
+ SHA1:
3
+ metadata.gz: 843c384bc9a07abcd15c8d310bced7b1fc80c979
4
+ data.tar.gz: 3336c894ba548664bcfb7f5b2ef91aed785fff21
5
+ SHA512:
6
+ metadata.gz: fe1386c06d1bfedea6c5be18de70bd95455cda8778615f918d21bc7991ec197c5aee9bd8525bea23b520b8c00cd734c9a42aad68d5331277623eedb25569928f
7
+ data.tar.gz: 105330f683835366620945bc14dd2b2118f9f3bc07a1d97f8445f5660152a919ec565c23196c1bf842b1c89ceb6f53e65f55af8f207780c7bcf7b8cdd1963fbd
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-1.9.3-p385
1
+ 2.2.2
data/.travis.yml CHANGED
@@ -1,3 +1,6 @@
1
+ sudo: false
1
2
  rvm:
2
- - 1.9.3
3
- - 2.0.0
3
+ - 2.0.0
4
+ script:
5
+ - bundle exec rake
6
+ - bundle exec rubocop
data/Gemfile CHANGED
@@ -1,2 +1,2 @@
1
1
  source 'http://rubygems.org'
2
- gemspec
2
+ gemspec
data/README.md CHANGED
@@ -1,25 +1,25 @@
1
- # GoogleMapsGeocoder [![Code Climate](https://codeclimate.com/github/ivanoblomov/google_maps_geocoder.png)](https://codeclimate.com/github/ivanoblomov/google_maps_geocoder) [![Build Status](https://secure.travis-ci.org/ivanoblomov/google_maps_geocoder.png)](http://travis-ci.org/ivanoblomov/google_maps_geocoder) [![Dependency Status](https://gemnasium.com/ivanoblomov/google_maps_geocoder.png)](https://gemnasium.com/ivanoblomov/google_maps_geocoder)
1
+ # GoogleMapsGeocoder
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/google_maps_geocoder.svg)](http://badge.fury.io/rb/google_maps_geocoder)
4
+ [![Code Climate](https://codeclimate.com/github/ivanoblomov/google_maps_geocoder.png)](https://codeclimate.com/github/ivanoblomov/google_maps_geocoder)
5
+ [![Coverage Status](https://coveralls.io/repos/ivanoblomov/google_maps_geocoder/badge.svg?branch=master&service=github)](https://coveralls.io/github/ivanoblomov/google_maps_geocoder?branch=master)
6
+ [![Build Status](https://secure.travis-ci.org/ivanoblomov/google_maps_geocoder.png)](http://travis-ci.org/ivanoblomov/google_maps_geocoder)
7
+ [![Dependency Status](https://gemnasium.com/ivanoblomov/google_maps_geocoder.png)](https://gemnasium.com/ivanoblomov/google_maps_geocoder)
2
8
 
3
9
  A simple PORO wrapper for geocoding with Google Maps.
4
10
 
5
11
  ## Installation
6
12
 
7
- In <b>Rails 3</b>, add this to your Gemfile and run "bundle":
13
+ Add GoogleMapsGeocoder to your Gemfile and run `bundle`:
8
14
 
9
15
  ```ruby
10
16
  gem 'google_maps_geocoder'
11
17
  ```
12
18
 
13
- In <b>Rails 2</b>, add this to your environment.rb file:
14
-
15
- ```ruby
16
- config.gem 'google_maps_geocoder'
17
- ```
18
-
19
- Or try it out in <b>irb</b> with:
19
+ Or try it out in `irb` with:
20
20
 
21
21
  ```ruby
22
- require './lib/google_maps_geocoder'
22
+ require './lib/google_maps_geocoder/google_maps_geocoder'
23
23
  ```
24
24
 
25
25
  ## Ready to Go in One Step
@@ -76,6 +76,14 @@ The complete, hopefully self-explanatory, API is:
76
76
  * state_long_name
77
77
  * state_short_name
78
78
 
79
+ ## Google Maps API Key (Optional)
80
+
81
+ To have GoogleMapsGeocoder use your Google Maps API key, set it as an environment variable:
82
+
83
+ ```bash
84
+ export GOOGLE_MAPS_API_KEY=[your key]
85
+ ```
86
+
79
87
  ## Contributing to google_maps_geocoder
80
88
 
81
89
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
data/Rakefile CHANGED
@@ -5,4 +5,4 @@ RSpec::Core::RakeTask.new(:test) do |t|
5
5
  t.pattern = 'spec/*/*_spec.rb'
6
6
  t.verbose = false
7
7
  end
8
- task :default => :test
8
+ task default: :test
@@ -1,21 +1,25 @@
1
- require File.expand_path '../lib/version', __FILE__
1
+ require File.expand_path '../lib/google_maps_geocoder/version', __FILE__
2
2
  Gem::Specification.new do |s|
3
- s.name = "google_maps_geocoder"
3
+ s.name = 'google_maps_geocoder'
4
4
  s.version = GoogleMapsGeocoder::VERSION.dup
5
- s.summary = "A simple PORO wrapper for geocoding with Google Maps."
6
- s.description = "Geocode a location without worrying about parsing Google Maps' response. GoogleMapsGeocoder wraps it in a plain-old Ruby object."
7
- s.homepage = "http://github.com/ivanoblomov/google_maps_geocoder"
8
- s.authors = ["Roderick Monje"]
5
+ s.summary = 'A simple PORO wrapper for geocoding with Google Maps.'
6
+ s.description = 'Geocode a location without worrying about parsing Google '\
7
+ "Maps' response. GoogleMapsGeocoder wraps it in a plain-old "\
8
+ 'Ruby object.'
9
+ s.homepage = 'http://github.com/ivanoblomov/google_maps_geocoder'
10
+ s.authors = ['Roderick Monje']
9
11
 
12
+ s.add_development_dependency 'coveralls', '>= 0'
10
13
  s.add_development_dependency 'rake', '>= 0'
11
14
  s.add_development_dependency 'rspec', '>= 0'
12
- s.add_development_dependency 'simplecov', '>= 0'
15
+ s.add_development_dependency 'rubocop', '>= 0'
13
16
 
14
17
  s.add_runtime_dependency 'activesupport', '>= 0'
15
18
  s.add_runtime_dependency 'rack', '>= 0'
16
19
 
17
- s.files = `git ls-files`.split "\n"
18
- s.test_files = `git ls-files -- {test,spec,features}/*`.split "\n"
19
- s.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename f}
20
- s.require_paths = ["lib"]
21
- end
20
+ s.files = `git ls-files`.split "\n"
21
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split "\n"
22
+ s.executables = `git ls-files -- bin/*`.split("\n")
23
+ .map { |f| File.basename f }
24
+ s.require_paths = ['lib']
25
+ end
@@ -3,15 +3,28 @@ require 'logger'
3
3
  require 'net/http'
4
4
  require 'rack'
5
5
 
6
+ # A simple PORO wrapper for geocoding with Google Maps.
6
7
  class GoogleMapsGeocoder
8
+ GOOGLE_ADDRESS_SEGMENTS = %i(
9
+ city country_long_name country_short_name county lat lng postal_code
10
+ state_long_name state_short_name
11
+ ).freeze
12
+ GOOGLE_API_URI = 'https://maps.googleapis.com/maps/api/geocode/json'.freeze
13
+
14
+ ALL_ADDRESS_SEGMENTS = (
15
+ GOOGLE_ADDRESS_SEGMENTS + %i(
16
+ formatted_address formatted_street_address
17
+ )
18
+ ).freeze
19
+
7
20
  # Returns the complete formatted address with standardized abbreviations.
8
21
  attr_reader :formatted_address
9
22
  # Returns the formatted street address with standardized abbreviations.
10
23
  attr_reader :formatted_street_address
11
24
  # Self-explanatory
12
- attr_reader :city, :country_long_name, :country_short_name, :county, :lat, :lng, :postal_code, :state_long_name, :state_short_name
25
+ attr_reader(*GOOGLE_ADDRESS_SEGMENTS)
13
26
 
14
- # Instance Methods: Overrides ====================================================================
27
+ # Instance Methods: Overrides ================================================
15
28
 
16
29
  # Geocodes the specified address and wraps the results in a geocoder object.
17
30
  #
@@ -23,16 +36,19 @@ class GoogleMapsGeocoder
23
36
  #
24
37
  # white_house = GoogleMapsGeocoder.new('1600 Pennsylvania Washington')
25
38
  # white_house.formatted_address
26
- # => "1600 Pennsylvania Avenue Northwest, President's Park, Washington, DC 20500, USA"
27
- def initialize data
39
+ # => "1600 Pennsylvania Avenue Northwest, President's Park,
40
+ # Washington, DC 20500, USA"
41
+ def initialize(data)
28
42
  @json = data.is_a?(String) ? json_from_url(data) : data
29
- raise "Geocoding \"#{data}\" exceeded query limit! Google returned...\n#{@json.inspect}" if @json.blank? || @json['status'] != 'OK'
43
+ fail "Geocoding \"#{data}\" exceeded query limit! Google returned...\n"\
44
+ "#{@json.inspect}" if @json.blank? || @json['status'] != 'OK'
30
45
  set_attributes_from_json
31
- logger = Logger.new STDERR
32
- logger.info('GoogleMapsGeocoder') { "Geocoded \"#{data}\" => \"#{self.formatted_address}\"" }
46
+ logger.info('GoogleMapsGeocoder') do
47
+ "Geocoded \"#{data}\" => \"#{formatted_address}\""
48
+ end
33
49
  end
34
50
 
35
- # Instance Methods ===============================================================================
51
+ # Instance Methods ===========================================================
36
52
 
37
53
  # Returns true if the address Google returns is an exact match.
38
54
  #
@@ -42,7 +58,7 @@ class GoogleMapsGeocoder
42
58
  # white_house.exact_match?
43
59
  # => true
44
60
  def exact_match?
45
- ! self.partial_match?
61
+ !self.partial_match?
46
62
  end
47
63
 
48
64
  # Returns true if the address Google returns isn't an exact match.
@@ -58,18 +74,39 @@ class GoogleMapsGeocoder
58
74
 
59
75
  private
60
76
 
61
- def json_from_url url
62
- response = Net::HTTP.get_response(URI.parse "http://maps.googleapis.com/maps/api/geocode/json?address=#{Rack::Utils.escape(url)}&sensor=false")
77
+ def api_key
78
+ @api_key ||= "&key=#{ENV['GOOGLE_MAPS_API_KEY']}" if
79
+ ENV['GOOGLE_MAPS_API_KEY']
80
+ end
81
+
82
+ def http(uri)
83
+ http = Net::HTTP.new(uri.host, uri.port)
84
+ http.use_ssl = true
85
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
86
+ http
87
+ end
88
+
89
+ def json_from_url(url)
90
+ uri = URI.parse query_url(url)
91
+ logger.debug('GoogleMapsGeocoder') { uri }
92
+ response = http(uri).request(Net::HTTP::Get.new(uri.request_uri))
63
93
  ActiveSupport::JSON.decode response.body
64
94
  end
65
95
 
66
- def parse_address_component_type(type, name='long_name')
67
- _address_component = @json['results'][0]['address_components'].detect{ |ac| ac['types'] && ac['types'].include?(type) }
68
- _address_component && _address_component[name]
96
+ def logger
97
+ @logger ||= Logger.new STDERR
98
+ end
99
+
100
+ def parse_address_component_type(type, name = 'long_name')
101
+ address_component = @json['results'][0]['address_components'].detect do |ac|
102
+ ac['types'] && ac['types'].include?(type)
103
+ end
104
+ address_component && address_component[name]
69
105
  end
70
106
 
71
107
  def parse_city
72
- parse_address_component_type('sublocality') || parse_address_component_type('locality')
108
+ parse_address_component_type('sublocality') ||
109
+ parse_address_component_type('locality')
73
110
  end
74
111
 
75
112
  def parse_country_long_name
@@ -89,7 +126,8 @@ class GoogleMapsGeocoder
89
126
  end
90
127
 
91
128
  def parse_formatted_street_address
92
- "#{parse_address_component_type('street_number')} #{parse_address_component_type('route')}"
129
+ "#{parse_address_component_type('street_number')} "\
130
+ "#{parse_address_component_type('route')}"
93
131
  end
94
132
 
95
133
  def parse_lat
@@ -98,7 +136,7 @@ class GoogleMapsGeocoder
98
136
 
99
137
  def parse_lng
100
138
  @json['results'][0]['geometry']['location']['lng']
101
- end
139
+ end
102
140
 
103
141
  def parse_postal_code
104
142
  parse_address_component_type('postal_code')
@@ -112,7 +150,14 @@ class GoogleMapsGeocoder
112
150
  parse_address_component_type('administrative_area_level_1', 'short_name')
113
151
  end
114
152
 
153
+ def query_url(query)
154
+ "#{GOOGLE_API_URI}?address=#{Rack::Utils.escape query}&sensor=false"\
155
+ "#{api_key}"
156
+ end
157
+
115
158
  def set_attributes_from_json
116
- @city, @country_short_name, @country_long_name, @county, @formatted_address, @formatted_street_address, @lat, @lng, @postal_code, @state_long_name, @state_short_name = parse_city, parse_country_short_name, parse_country_long_name, parse_county, parse_formatted_address, parse_formatted_street_address, parse_lat, parse_lng, parse_postal_code, parse_state_long_name, parse_state_short_name
159
+ ALL_ADDRESS_SEGMENTS.each do |segment|
160
+ instance_variable_set :"@#{segment}", send("parse_#{segment}")
161
+ end
117
162
  end
118
- end
163
+ end
@@ -0,0 +1,4 @@
1
+ # A simple PORO wrapper for geocoding with Google Maps.
2
+ class GoogleMapsGeocoder
3
+ VERSION = '0.4.0.pre1'.freeze unless defined?(GoogleMapsGeocoder::VERSION)
4
+ end
@@ -13,8 +13,8 @@ describe GoogleMapsGeocoder do
13
13
  end
14
14
 
15
15
  before(:each) do
16
- pending 'waiting for a network connection', :if => @no_network
17
- pending 'waiting for query limit to pass', :if => @query_limit
16
+ pending 'waiting for a network connection' if @no_network
17
+ pending 'waiting for query limit to pass' if @query_limit
18
18
  end
19
19
 
20
20
  context 'with "837 Union Street Brooklyn NY"' do
@@ -24,13 +24,16 @@ describe GoogleMapsGeocoder do
24
24
  context 'address' do
25
25
  it { expect(subject.formatted_street_address).to eq '837 Union Street' }
26
26
  it { expect(subject.city).to eq 'Brooklyn' }
27
- it { expect(subject.county).to match /Kings/ }
27
+ it { expect(subject.county).to match(/Kings/) }
28
28
  it { expect(subject.state_long_name).to eq 'New York' }
29
29
  it { expect(subject.state_short_name).to eq 'NY' }
30
- it { expect(subject.postal_code).to match /112[0-9]{2}/ }
30
+ it { expect(subject.postal_code).to match(/112[0-9]{2}/) }
31
31
  it { expect(subject.country_short_name).to eq 'US' }
32
32
  it { expect(subject.country_long_name).to eq 'United States' }
33
- it { expect(subject.formatted_address).to match /837 Union Street, Brooklyn, NY 112[0-9]{2}, USA/ }
33
+ it do
34
+ expect(subject.formatted_address)
35
+ .to match(/837 Union St, Brooklyn, NY 112[0-9]{2}, USA/)
36
+ end
34
37
  end
35
38
 
36
39
  context 'coordinates' do
@@ -44,19 +47,38 @@ describe GoogleMapsGeocoder do
44
47
  it { should be_partial_match }
45
48
 
46
49
  context 'address' do
47
- it { expect(subject.formatted_street_address).to eq '1600 Pennsylvania Avenue Northwest' }
50
+ it do
51
+ expect(subject.formatted_street_address)
52
+ .to eq '1600 Pennsylvania Avenue Southeast'
53
+ end
48
54
  it { expect(subject.city).to eq 'Washington' }
49
55
  it { expect(subject.state_long_name).to eq 'District of Columbia' }
50
56
  it { expect(subject.state_short_name).to eq 'DC' }
51
- it { expect(subject.postal_code).to match /2050[0-9]/ }
57
+ it { expect(subject.postal_code).to match(/2000[0-9]/) }
52
58
  it { expect(subject.country_short_name).to eq 'US' }
53
59
  it { expect(subject.country_long_name).to eq 'United States' }
54
- it { expect(subject.formatted_address).to match(/1600 Pennsylvania Avenue Northwest, President's Park, Washington, DC 2050[0-9], USA/) }
55
- end
60
+ it do
61
+ expect(subject.formatted_address)
62
+ .to match(/1600 Pennsylvania Ave SE, Washington, DC 20003, USA/)
63
+ end
64
+ end
65
+
66
+ context 'coordinates' do
67
+ it { expect(subject.lat).to be_within(0.005).of(38.8791981) }
68
+ it { expect(subject.lng).to be_within(0.005).of(-76.9818437) }
69
+ end
70
+ end
56
71
 
57
- context 'coordinates' do
58
- it { expect(subject.lat).to be_within(0.005).of(38.8976964) }
59
- it { expect(subject.lng).to be_within(0.005).of(-77.0365191) }
60
- end
72
+ context "when ENV['GOOGLE_MAPS_API_KEY'] = 'INVALID_KEY'" do
73
+ before { ENV['GOOGLE_MAPS_API_KEY'] = 'INVALID_KEY' }
74
+
75
+ subject { @exact_match }
76
+
77
+ it do
78
+ expect(subject.send :query_url, nil).to eq(
79
+ 'https://maps.googleapis.com/maps/api/geocode/json?address='\
80
+ '&sensor=false&key=INVALID_KEY'
81
+ )
82
+ end
61
83
  end
62
- end
84
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,14 +1,14 @@
1
- require 'simplecov'
2
- SimpleCov.start
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
3
  require 'rubygems'
4
4
  require 'bundler'
5
5
  begin
6
6
  Bundler.setup(:default, :development)
7
7
  rescue Bundler::BundlerError => e
8
8
  $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
9
+ $stderr.puts 'Run `bundle install` to install missing gems'
10
10
  exit e.status_code
11
11
  end
12
12
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
13
  $LOAD_PATH.unshift(File.dirname(__FILE__))
14
- require 'google_maps_geocoder'
14
+ require 'google_maps_geocoder/google_maps_geocoder'
metadata CHANGED
@@ -1,83 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_maps_geocoder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roderick Monje
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-19 00:00:00.000000000 Z
11
+ date: 2015-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: coveralls
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rake
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
- - - ! '>='
31
+ - - ">="
18
32
  - !ruby/object:Gem::Version
19
33
  version: '0'
20
34
  type: :development
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
- - - ! '>='
38
+ - - ">="
25
39
  - !ruby/object:Gem::Version
26
40
  version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rspec
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - ! '>='
45
+ - - ">="
32
46
  - !ruby/object:Gem::Version
33
47
  version: '0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - ! '>='
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
- name: simplecov
56
+ name: rubocop
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ! '>='
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
61
  version: '0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ! '>='
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: activesupport
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ! '>='
73
+ - - ">="
60
74
  - !ruby/object:Gem::Version
61
75
  version: '0'
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ! '>='
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rack
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ! '>='
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
89
  version: '0'
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ! '>='
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  description: Geocode a location without worrying about parsing Google Maps' response.
@@ -87,17 +101,17 @@ executables: []
87
101
  extensions: []
88
102
  extra_rdoc_files: []
89
103
  files:
90
- - .document
91
- - .gitignore
92
- - .ruby-version
93
- - .travis.yml
104
+ - ".document"
105
+ - ".gitignore"
106
+ - ".ruby-version"
107
+ - ".travis.yml"
94
108
  - Gemfile
95
109
  - LICENSE.txt
96
110
  - README.md
97
111
  - Rakefile
98
112
  - google_maps_geocoder.gemspec
99
- - lib/google_maps_geocoder.rb
100
- - lib/version.rb
113
+ - lib/google_maps_geocoder/google_maps_geocoder.rb
114
+ - lib/google_maps_geocoder/version.rb
101
115
  - spec/lib/google_maps_geocoder_spec.rb
102
116
  - spec/spec_helper.rb
103
117
  homepage: http://github.com/ivanoblomov/google_maps_geocoder
@@ -109,17 +123,17 @@ require_paths:
109
123
  - lib
110
124
  required_ruby_version: !ruby/object:Gem::Requirement
111
125
  requirements:
112
- - - ! '>='
126
+ - - ">="
113
127
  - !ruby/object:Gem::Version
114
128
  version: '0'
115
129
  required_rubygems_version: !ruby/object:Gem::Requirement
116
130
  requirements:
117
- - - ! '>='
131
+ - - ">"
118
132
  - !ruby/object:Gem::Version
119
- version: '0'
133
+ version: 1.3.1
120
134
  requirements: []
121
135
  rubyforge_project:
122
- rubygems_version: 2.0.6
136
+ rubygems_version: 2.4.6
123
137
  signing_key:
124
138
  specification_version: 4
125
139
  summary: A simple PORO wrapper for geocoding with Google Maps.
data/lib/version.rb DELETED
@@ -1,3 +0,0 @@
1
- class GoogleMapsGeocoder
2
- VERSION = '0.3.1'.freeze unless defined?(GoogleMapsGeocoder::VERSION)
3
- end