google_maps_geocoder 0.6.1 → 0.7.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github/CONTRIBUTING.md +1 -1
- data/.github/{ISSUE_TEMPLATE.md → ISSUE_TEMPLATE/bug-report.md} +6 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +17 -0
- data/.github/ISSUE_TEMPLATE/task.md +21 -0
- data/.github/dependabot.yml +11 -0
- data/.github/workflows/publish.yml +24 -0
- data/.github/workflows/test.yml +33 -0
- data/.simplecov +15 -0
- data/Gemfile +2 -0
- data/README.md +31 -19
- data/Rakefile +2 -0
- data/google_maps_geocoder.gemspec +14 -7
- data/lib/google_maps_geocoder/google_maps_geocoder.rb +26 -4
- data/lib/google_maps_geocoder/version.rb +3 -1
- data/spec/lib/google_maps_geocoder_spec.rb +17 -3
- data/spec/spec_helper.rb +2 -6
- metadata +94 -31
- data/.ruby-version +0 -1
- data/.travis.yml +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ebf92567ff1dc2d2b77b02b0f5355853560eff14e4fa261db1370d5464f76218
|
4
|
+
data.tar.gz: 81d9e015f6bef01e1419a2b1d0ed309de07dacd6dd93601ac5caf7cc16f12b35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a09f215cdba56cc193efef990cfc4036e7fcf5cd808840e07f9b707e82aa11a7676feb8bbce581245d2bcb537977860adc9b649373e38a23061b2103145fe5fc
|
7
|
+
data.tar.gz: add1deabe68a6233d1c67ef27955bdea103a7a07b2c06d9537550477bf49711472b70c3014e1579352b1e66f482c7ccb3b2b0624c6faeeb2d87e463e5a574aa7
|
data/.github/CONTRIBUTING.md
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
|
14
14
|
1. **Add specs** that either reproduces the bug or covers the new feature. In the former's case, *make sure it fails without the fix!*
|
15
15
|
|
16
|
-
2. **Confirm your last build passes** on
|
16
|
+
2. **Confirm your last build passes** on your GitHub branch or PR.
|
17
17
|
|
18
18
|
3. **Update the inline documentation.** Format it with [YARD](http://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md). For example, see [`GoogleMapsGeocoder.new`](https://github.com/ivanoblomov/google_maps_geocoder/blob/github-templates/lib/google_maps_geocoder/google_maps_geocoder.rb#L43-L50).
|
19
19
|
|
@@ -1,3 +1,9 @@
|
|
1
|
+
---
|
2
|
+
name: Bug report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
labels: 'bug'
|
5
|
+
---
|
6
|
+
|
1
7
|
# Description
|
2
8
|
|
3
9
|
Provide as much background as you need to get the implementer up to speed on the problem to be solved. This can also include screenshots and links to other issues or pull requests.
|
@@ -0,0 +1,17 @@
|
|
1
|
+
---
|
2
|
+
name: Feature request
|
3
|
+
about: Suggest an idea for this project
|
4
|
+
labels: 'feature'
|
5
|
+
---
|
6
|
+
|
7
|
+
# Goal
|
8
|
+
Explain this issue's purpose. Focus on the problem that needs to be solved and *not* a particular solution. For example: "Make it easier for users to reset their passwords."
|
9
|
+
|
10
|
+
# Description
|
11
|
+
1. Provide as much background as you need to familiarize the implementer with the problem to be solved.
|
12
|
+
2. Include:
|
13
|
+
* screenshots
|
14
|
+
* links to other issues or pull requests
|
15
|
+
|
16
|
+
# Success Criteria
|
17
|
+
How would a stakeholder test whether the feature was completed successfully?
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
name: Task
|
3
|
+
about: Define a task to complete
|
4
|
+
title: ''
|
5
|
+
labels: 'task'
|
6
|
+
assignees: ''
|
7
|
+
|
8
|
+
---
|
9
|
+
# Task
|
10
|
+
|
11
|
+
## Goal
|
12
|
+
|
13
|
+
Explain the goal of this task.
|
14
|
+
|
15
|
+
## Description
|
16
|
+
|
17
|
+
Provide whatever background the assignee would need to complete the task. This can include screenshots or links to other issues or pull requests.
|
18
|
+
|
19
|
+
## Success Criteria
|
20
|
+
|
21
|
+
How can stakeholders tell whether the task was completed successfully or not?
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
3
|
+
# Please see the documentation for all configuration options:
|
4
|
+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
5
|
+
|
6
|
+
version: 2
|
7
|
+
updates:
|
8
|
+
- package-ecosystem: "bundler" # See documentation for possible values
|
9
|
+
directory: "/" # Location of package manifests
|
10
|
+
schedule:
|
11
|
+
interval: "daily"
|
@@ -0,0 +1,24 @@
|
|
1
|
+
name: publish
|
2
|
+
on:
|
3
|
+
workflow_dispatch:
|
4
|
+
jobs:
|
5
|
+
build:
|
6
|
+
name: Build + Publish
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
steps:
|
9
|
+
- uses: actions/checkout@v2
|
10
|
+
- name: Set up Ruby 2.7
|
11
|
+
uses: ruby/setup-ruby@v1
|
12
|
+
with:
|
13
|
+
ruby-version: 2.7
|
14
|
+
- run: bundle install
|
15
|
+
- name: Publish to RubyGems
|
16
|
+
env:
|
17
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_API_KEY}}"
|
18
|
+
run: |
|
19
|
+
mkdir -p $HOME/.gem
|
20
|
+
touch $HOME/.gem/credentials
|
21
|
+
chmod 0600 $HOME/.gem/credentials
|
22
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
23
|
+
gem build *.gemspec
|
24
|
+
gem push *.gem
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Download the latest Ruby patch versions, install dependencies, and run tests.
|
2
|
+
name: test
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ master ]
|
8
|
+
jobs:
|
9
|
+
test:
|
10
|
+
environment: staging
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
strategy:
|
13
|
+
matrix:
|
14
|
+
ruby-version: [2.4, 2.5, 2.6, 2.7, 3.0]
|
15
|
+
steps:
|
16
|
+
- name: Checkout code
|
17
|
+
uses: actions/checkout@v2
|
18
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
19
|
+
uses: ruby/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
ruby-version: ${{ matrix.ruby-version }}
|
22
|
+
- name: Install dependencies
|
23
|
+
run: bundle install
|
24
|
+
- name: Run tests
|
25
|
+
env:
|
26
|
+
GOOGLE_MAPS_API_KEY: ${{ secrets.GOOGLE_MAPS_API_KEY }}
|
27
|
+
run: bundle exec rake
|
28
|
+
- name: Coveralls
|
29
|
+
uses: coverallsapp/github-action@master
|
30
|
+
with:
|
31
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
32
|
+
- name: Rubocop
|
33
|
+
run: bundle ex rubocop
|
data/.simplecov
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'simplecov-lcov'
|
4
|
+
|
5
|
+
SimpleCov::Formatter::LcovFormatter.config do |c|
|
6
|
+
c.report_with_single_file = true
|
7
|
+
c.single_report_path = 'coverage/lcov.info'
|
8
|
+
end
|
9
|
+
SimpleCov.formatters = SimpleCov::Formatter::MultiFormatter.new(
|
10
|
+
[
|
11
|
+
SimpleCov::Formatter::HTMLFormatter,
|
12
|
+
SimpleCov::Formatter::LcovFormatter
|
13
|
+
]
|
14
|
+
)
|
15
|
+
SimpleCov.start
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,27 +1,32 @@
|
|
1
1
|
# GoogleMapsGeocoder
|
2
2
|
|
3
|
-
|
3
|
+
![Build status](https://github.com/ivanoblomov/google_maps_geocoder/workflows/test/badge.svg)
|
4
4
|
[![Code Climate](https://codeclimate.com/github/ivanoblomov/google_maps_geocoder.png)](https://codeclimate.com/github/ivanoblomov/google_maps_geocoder)
|
5
5
|
[![Coverage Status](https://coveralls.io/repos/github/ivanoblomov/google_maps_geocoder/badge.svg?branch=master)](https://coveralls.io/github/ivanoblomov/google_maps_geocoder?branch=master)
|
6
|
-
[![Inline docs](
|
7
|
-
[![Gem Version](https://badge.fury.io/rb/google_maps_geocoder.svg)](
|
8
|
-
[![security](https://hakiri.io/github/ivanoblomov/google_maps_geocoder/master.svg)](https://hakiri.io/github/ivanoblomov/google_maps_geocoder/master)
|
6
|
+
[![Inline docs](https://inch-ci.org/github/Ivanoblomov/google_maps_geocoder.svg?branch=master)](https://inch-ci.org/github/Ivanoblomov/google_maps_geocoder)
|
7
|
+
[![Gem Version](https://badge.fury.io/rb/google_maps_geocoder.svg)](https://rubygems.org/gems/google_maps_geocoder)
|
9
8
|
|
10
9
|
A simple Plain Old Ruby Object wrapper for geocoding with Google Maps.
|
11
10
|
|
12
11
|
## Installation
|
13
12
|
|
14
|
-
|
13
|
+
1. Set your Google Maps API key, which Google now requires, as an environment variable:
|
15
14
|
|
16
|
-
```
|
17
|
-
|
18
|
-
```
|
15
|
+
```bash
|
16
|
+
export GOOGLE_MAPS_API_KEY=[your key]
|
17
|
+
```
|
19
18
|
|
20
|
-
|
19
|
+
2. Add `GoogleMapsGeocoder` to your Gemfile and run `bundle`:
|
21
20
|
|
22
|
-
```ruby
|
23
|
-
|
24
|
-
```
|
21
|
+
```ruby
|
22
|
+
gem 'google_maps_geocoder'
|
23
|
+
```
|
24
|
+
|
25
|
+
Or try it out in `irb` with:
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
require './lib/google_maps_geocoder/google_maps_geocoder'
|
29
|
+
```
|
25
30
|
|
26
31
|
## Ready to Go in One Step
|
27
32
|
|
@@ -77,16 +82,23 @@ The complete, hopefully self-explanatory, API is:
|
|
77
82
|
* `GoogleMapsGeocoder#state_long_name`
|
78
83
|
* `GoogleMapsGeocoder#state_short_name`
|
79
84
|
|
80
|
-
|
81
|
-
|
82
|
-
To have GoogleMapsGeocoder use your Google Maps API key, set it as an environment variable:
|
85
|
+
For compatibility with [Geocoder](https://github.com/alexreisner/geocoder), the following aliases are also available:
|
83
86
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
+
* `GoogleMapsGeocoder#address`
|
88
|
+
* `GoogleMapsGeocoder#coordinates`
|
89
|
+
* `GoogleMapsGeocoder#country`
|
90
|
+
* `GoogleMapsGeocoder#country_code`
|
91
|
+
* `GoogleMapsGeocoder#latitude`
|
92
|
+
* `GoogleMapsGeocoder#longitude`
|
93
|
+
* `GoogleMapsGeocoder#state`
|
94
|
+
* `GoogleMapsGeocoder#state_code`
|
87
95
|
|
88
96
|
## [Contributing to GoogleMapsGeocoder](https://github.com/ivanoblomov/google_maps_geocoder/blob/master/.github/CONTRIBUTING.md)
|
89
97
|
|
98
|
+
## Cheers!
|
99
|
+
|
100
|
+
<a href="https://www.buymeacoffee.com/oblomov" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-green.png" alt="Buy Me A Coffee" height="41" width="174" ></a>
|
101
|
+
|
90
102
|
## Copyright
|
91
103
|
|
92
|
-
Copyright © 2011-
|
104
|
+
Copyright © 2011-2021 Roderick Monje. See [LICENSE.txt](https://github.com/ivanoblomov/google_maps_geocoder/blob/master/LICENSE.txt) for further details.
|
data/Rakefile
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
# rubocop:disable Gemspec/RequiredRubyVersion
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
1
4
|
require File.expand_path('lib/google_maps_geocoder/version', __dir__)
|
2
5
|
Gem::Specification.new do |s|
|
3
6
|
s.name = 'google_maps_geocoder'
|
@@ -7,18 +10,21 @@ Gem::Specification.new do |s|
|
|
7
10
|
s.description = 'Geocode a location without worrying about parsing Google '\
|
8
11
|
"Maps' response. GoogleMapsGeocoder wraps it in a plain-old "\
|
9
12
|
'Ruby object.'
|
10
|
-
s.homepage = '
|
13
|
+
s.homepage = 'https://github.com/ivanoblomov/google_maps_geocoder'
|
11
14
|
s.authors = ['Roderick Monje']
|
12
15
|
s.email = 'rod@foveacentral.com'
|
13
16
|
|
14
|
-
s.add_development_dependency 'codeclimate-test-reporter', '~>
|
15
|
-
s.add_development_dependency '
|
16
|
-
s.add_development_dependency 'rake', '~> 0'
|
17
|
+
s.add_development_dependency 'codeclimate-test-reporter', '~> 1'
|
18
|
+
s.add_development_dependency 'rake', '>= 12.3.3', '~> 13.0'
|
17
19
|
s.add_development_dependency 'rspec', '~> 3'
|
18
|
-
s.add_development_dependency 'rubocop', '
|
20
|
+
s.add_development_dependency 'rubocop', '< 1.18'
|
21
|
+
s.add_development_dependency 'rubocop-rake', '~> 0'
|
22
|
+
s.add_development_dependency 'rubocop-rspec', '~> 2'
|
23
|
+
s.add_development_dependency 'simplecov', '~> 0.18'
|
24
|
+
s.add_development_dependency 'simplecov-lcov', '~> 0.8'
|
19
25
|
|
20
|
-
s.add_runtime_dependency 'activesupport', '
|
21
|
-
s.add_runtime_dependency 'rack', '
|
26
|
+
s.add_runtime_dependency 'activesupport', '>= 4.1.11', '< 7.0'
|
27
|
+
s.add_runtime_dependency 'rack', '>= 2.1.4', '< 2.3.0'
|
22
28
|
|
23
29
|
s.files = `git ls-files`.split "\n"
|
24
30
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split "\n"
|
@@ -26,3 +32,4 @@ Gem::Specification.new do |s|
|
|
26
32
|
.map { |f| File.basename f }
|
27
33
|
s.require_paths = ['lib']
|
28
34
|
end
|
35
|
+
# rubocop:enable Gemspec/RequiredRubyVersion
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'active_support'
|
2
4
|
require 'logger'
|
3
5
|
require 'net/http'
|
@@ -15,7 +17,7 @@ class GoogleMapsGeocoder
|
|
15
17
|
city country_long_name country_short_name county lat lng postal_code
|
16
18
|
state_long_name state_short_name
|
17
19
|
].freeze
|
18
|
-
GOOGLE_MAPS_API = 'https://maps.googleapis.com/maps/api/geocode/json'
|
20
|
+
GOOGLE_MAPS_API = 'https://maps.googleapis.com/maps/api/geocode/json'
|
19
21
|
|
20
22
|
ALL_ADDRESS_SEGMENTS = (
|
21
23
|
GOOGLE_ADDRESS_SEGMENTS + %i[formatted_address formatted_street_address]
|
@@ -40,6 +42,21 @@ class GoogleMapsGeocoder
|
|
40
42
|
# Self-explanatory
|
41
43
|
attr_reader(*GOOGLE_ADDRESS_SEGMENTS)
|
42
44
|
|
45
|
+
# Returns the formatted address as a comma-delimited string.
|
46
|
+
alias address formatted_address
|
47
|
+
# Returns the address' country as a full string.
|
48
|
+
alias country country_long_name
|
49
|
+
# Returns the address' country as an abbreviated string.
|
50
|
+
alias country_code country_short_name
|
51
|
+
# Returns the address' latitude as a float.
|
52
|
+
alias latitude lat
|
53
|
+
# Returns the address' longitude as a float.
|
54
|
+
alias longitude lng
|
55
|
+
# Returns the address' state as a full string.
|
56
|
+
alias state state_long_name
|
57
|
+
# Returns the address' state as an abbreviated string.
|
58
|
+
alias state_code state_short_name
|
59
|
+
|
43
60
|
# Geocodes the specified address and wraps the results in a GoogleMapsGeocoder
|
44
61
|
# object.
|
45
62
|
#
|
@@ -55,11 +72,16 @@ class GoogleMapsGeocoder
|
|
55
72
|
raise GeocodingError, @json if @json.blank? || status != 'OK'
|
56
73
|
|
57
74
|
set_attributes_from_json
|
58
|
-
Logger.new(
|
75
|
+
Logger.new($stderr).info('GoogleMapsGeocoder') do
|
59
76
|
"Geocoded \"#{address}\" => \"#{formatted_address}\""
|
60
77
|
end
|
61
78
|
end
|
62
79
|
|
80
|
+
# Returns the address' coordinates as an array of floats.
|
81
|
+
def coordinates
|
82
|
+
[lat, lng]
|
83
|
+
end
|
84
|
+
|
63
85
|
# Returns true if the address Google returns is an exact match.
|
64
86
|
#
|
65
87
|
# @return [boolean] whether the Google Maps result is an exact match
|
@@ -99,7 +121,7 @@ class GoogleMapsGeocoder
|
|
99
121
|
def initialize(json = {})
|
100
122
|
@json = json
|
101
123
|
if (message = @json['error_message'])
|
102
|
-
Logger.new(
|
124
|
+
Logger.new($stderr).error(message)
|
103
125
|
end
|
104
126
|
super @json['status']
|
105
127
|
end
|
@@ -127,7 +149,7 @@ class GoogleMapsGeocoder
|
|
127
149
|
|
128
150
|
def parse_address_component_type(type, name = 'long_name')
|
129
151
|
address_component = @json['results'][0]['address_components'].detect do |ac|
|
130
|
-
ac['types']
|
152
|
+
ac['types']&.include?(type)
|
131
153
|
end
|
132
154
|
address_component && address_component[name]
|
133
155
|
end
|
@@ -1,7 +1,10 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "#{File.dirname(__FILE__)}/../spec_helper"
|
2
4
|
# rubocop:disable Metrics/BlockLength
|
3
5
|
describe GoogleMapsGeocoder do
|
4
6
|
before(:all) do
|
7
|
+
# rubocop:disable Lint/RedundantCopDisableDirective, Style/RedundantBegin
|
5
8
|
begin
|
6
9
|
@exact_match = GoogleMapsGeocoder.new('White House')
|
7
10
|
rescue SocketError
|
@@ -9,6 +12,7 @@ describe GoogleMapsGeocoder do
|
|
9
12
|
rescue RuntimeError
|
10
13
|
@query_limit = true
|
11
14
|
end
|
15
|
+
# rubocop:enable Lint/RedundantCopDisableDirective, Style/RedundantBegin
|
12
16
|
end
|
13
17
|
|
14
18
|
before(:each) do
|
@@ -35,15 +39,25 @@ describe GoogleMapsGeocoder do
|
|
35
39
|
it { expect(subject.country_long_name).to eq 'United States' }
|
36
40
|
it do
|
37
41
|
expect(subject.formatted_address)
|
38
|
-
.to match(/1600 Pennsylvania
|
42
|
+
.to match(/1600 Pennsylvania Avenue NW, Washington, DC 20500, USA/)
|
39
43
|
end
|
40
44
|
end
|
41
45
|
context 'coordinates' do
|
42
46
|
it { expect(subject.lat).to be_within(0.005).of(38.8976633) }
|
43
47
|
it { expect(subject.lng).to be_within(0.005).of(-77.0365739) }
|
44
48
|
end
|
49
|
+
context 'Geocoder API' do
|
50
|
+
it { expect(subject.address).to eq subject.formatted_address }
|
51
|
+
it { expect(subject.coordinates).to eq [subject.lat, subject.lng] }
|
52
|
+
it { expect(subject.country).to eq subject.country_long_name }
|
53
|
+
it { expect(subject.country_code).to eq subject.country_short_name }
|
54
|
+
it { expect(subject.latitude).to eq subject.lat }
|
55
|
+
it { expect(subject.longitude).to eq subject.lng }
|
56
|
+
it { expect(subject.state).to eq subject.state_long_name }
|
57
|
+
it { expect(subject.state_code).to eq subject.state_short_name }
|
58
|
+
end
|
45
59
|
end
|
46
|
-
context '
|
60
|
+
context 'when API key is invalid' do
|
47
61
|
before do
|
48
62
|
@key = ENV['GOOGLE_MAPS_API_KEY']
|
49
63
|
ENV['GOOGLE_MAPS_API_KEY'] = 'invalid_key'
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,6 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'simplecov'
|
2
|
-
SimpleCov.start
|
3
|
-
require 'coveralls'
|
4
|
-
Coveralls.wear!
|
5
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
|
6
|
-
Coveralls::SimpleCov::Formatter
|
7
|
-
)
|
8
4
|
require 'rubygems'
|
9
5
|
require 'bundler'
|
10
6
|
begin
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google_maps_geocoder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roderick Monje
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: codeclimate-test-reporter
|
@@ -16,30 +16,64 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 12.3.3
|
31
34
|
- - "~>"
|
32
35
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
36
|
+
version: '13.0'
|
34
37
|
type: :development
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 12.3.3
|
38
44
|
- - "~>"
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
46
|
+
version: '13.0'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
48
|
+
name: rspec
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: rubocop
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "<"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '1.18'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "<"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '1.18'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rubocop-rake
|
43
77
|
requirement: !ruby/object:Gem::Requirement
|
44
78
|
requirements:
|
45
79
|
- - "~>"
|
@@ -53,61 +87,87 @@ dependencies:
|
|
53
87
|
- !ruby/object:Gem::Version
|
54
88
|
version: '0'
|
55
89
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: rspec
|
90
|
+
name: rubocop-rspec
|
57
91
|
requirement: !ruby/object:Gem::Requirement
|
58
92
|
requirements:
|
59
93
|
- - "~>"
|
60
94
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
95
|
+
version: '2'
|
62
96
|
type: :development
|
63
97
|
prerelease: false
|
64
98
|
version_requirements: !ruby/object:Gem::Requirement
|
65
99
|
requirements:
|
66
100
|
- - "~>"
|
67
101
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
102
|
+
version: '2'
|
69
103
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
104
|
+
name: simplecov
|
71
105
|
requirement: !ruby/object:Gem::Requirement
|
72
106
|
requirements:
|
73
107
|
- - "~>"
|
74
108
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
109
|
+
version: '0.18'
|
76
110
|
type: :development
|
77
111
|
prerelease: false
|
78
112
|
version_requirements: !ruby/object:Gem::Requirement
|
79
113
|
requirements:
|
80
114
|
- - "~>"
|
81
115
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
116
|
+
version: '0.18'
|
83
117
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
118
|
+
name: simplecov-lcov
|
85
119
|
requirement: !ruby/object:Gem::Requirement
|
86
120
|
requirements:
|
87
121
|
- - "~>"
|
88
122
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
90
|
-
type: :
|
123
|
+
version: '0.8'
|
124
|
+
type: :development
|
91
125
|
prerelease: false
|
92
126
|
version_requirements: !ruby/object:Gem::Requirement
|
93
127
|
requirements:
|
94
128
|
- - "~>"
|
95
129
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
130
|
+
version: '0.8'
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: activesupport
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: 4.1.11
|
138
|
+
- - "<"
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '7.0'
|
141
|
+
type: :runtime
|
142
|
+
prerelease: false
|
143
|
+
version_requirements: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: 4.1.11
|
148
|
+
- - "<"
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '7.0'
|
97
151
|
- !ruby/object:Gem::Dependency
|
98
152
|
name: rack
|
99
153
|
requirement: !ruby/object:Gem::Requirement
|
100
154
|
requirements:
|
101
|
-
- - "
|
155
|
+
- - ">="
|
102
156
|
- !ruby/object:Gem::Version
|
103
|
-
version: 1.4
|
157
|
+
version: 2.1.4
|
158
|
+
- - "<"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: 2.3.0
|
104
161
|
type: :runtime
|
105
162
|
prerelease: false
|
106
163
|
version_requirements: !ruby/object:Gem::Requirement
|
107
164
|
requirements:
|
108
|
-
- - "
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: 2.1.4
|
168
|
+
- - "<"
|
109
169
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
170
|
+
version: 2.3.0
|
111
171
|
description: Geocode a location without worrying about parsing Google Maps' response.
|
112
172
|
GoogleMapsGeocoder wraps it in a plain-old Ruby object.
|
113
173
|
email: rod@foveacentral.com
|
@@ -117,11 +177,15 @@ extra_rdoc_files: []
|
|
117
177
|
files:
|
118
178
|
- ".document"
|
119
179
|
- ".github/CONTRIBUTING.md"
|
120
|
-
- ".github/ISSUE_TEMPLATE.md"
|
180
|
+
- ".github/ISSUE_TEMPLATE/bug-report.md"
|
181
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
182
|
+
- ".github/ISSUE_TEMPLATE/task.md"
|
121
183
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
184
|
+
- ".github/dependabot.yml"
|
185
|
+
- ".github/workflows/publish.yml"
|
186
|
+
- ".github/workflows/test.yml"
|
122
187
|
- ".gitignore"
|
123
|
-
- ".
|
124
|
-
- ".travis.yml"
|
188
|
+
- ".simplecov"
|
125
189
|
- Gemfile
|
126
190
|
- LICENSE.txt
|
127
191
|
- README.md
|
@@ -131,11 +195,11 @@ files:
|
|
131
195
|
- lib/google_maps_geocoder/version.rb
|
132
196
|
- spec/lib/google_maps_geocoder_spec.rb
|
133
197
|
- spec/spec_helper.rb
|
134
|
-
homepage:
|
198
|
+
homepage: https://github.com/ivanoblomov/google_maps_geocoder
|
135
199
|
licenses:
|
136
200
|
- MIT
|
137
201
|
metadata: {}
|
138
|
-
post_install_message:
|
202
|
+
post_install_message:
|
139
203
|
rdoc_options: []
|
140
204
|
require_paths:
|
141
205
|
- lib
|
@@ -150,9 +214,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
214
|
- !ruby/object:Gem::Version
|
151
215
|
version: '0'
|
152
216
|
requirements: []
|
153
|
-
|
154
|
-
|
155
|
-
signing_key:
|
217
|
+
rubygems_version: 3.1.4
|
218
|
+
signing_key:
|
156
219
|
specification_version: 4
|
157
220
|
summary: A simple PORO wrapper for geocoding with Google Maps.
|
158
221
|
test_files:
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
2.2.5
|