here_geocoder 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a5fcb2728adf700e4abe3f900463edef3d19a553
4
+ data.tar.gz: 735252bb56aee871af33993f70f13a30607dd53d
5
+ SHA512:
6
+ metadata.gz: fa747421d0cb138f13add50ee08d578902e1137f366b03ebcec25ec1f1d3de715f26e7be408210e1544bd20d3b9680d13c6daaa7cb68d93779ff0020a99d318c
7
+ data.tar.gz: 69e2f271f3d41691a952042dacb8e436147157745616ab5835dacae68596e6de05a9e50f1157b58ba1fd69188af03533202a70467fc782262948f3db55cff946
data/.gitignore ADDED
@@ -0,0 +1,25 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ *.bundle
19
+ *.so
20
+ *.o
21
+ *.a
22
+ mkmf.log
23
+ .env
24
+ .ruby-version
25
+ .ruby-gemset
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1
4
+ - 2.2
5
+ - 2.3.1
6
+ script: "bundle exec rake spec"
7
+ notifications:
8
+ email:
9
+ - sergey.rozum+geocoder@gmail.com
10
+ sudo: false
11
+ cache: bundler
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in here_geocoder.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2016 Serhiy Rozum
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,49 @@
1
+ [![Gem Version](https://badge.fury.io/rb/here_geocoder.svg)](https://badge.fury.io/rb/here_geocoder)
2
+ [![Build Status](https://travis-ci.org/srozum/here_geocoder.svg?branch=master)](https://travis-ci.org/srozum/here_geocoder)
3
+
4
+ # HereGeocoder
5
+
6
+ Custom [geokit](https://github.com/geokit/geokit) geocoder for [Here.com](https://company.here.com/here/) service.
7
+
8
+ [API Documentation](https://developer.here.com/rest-apis/documentation/geocoder/topics/quick-start.html)
9
+
10
+
11
+ ## Installation
12
+
13
+ Add this line to your application's Gemfile:
14
+
15
+ gem 'here_geocoder'
16
+
17
+ And then execute:
18
+
19
+ $ bundle
20
+
21
+ Or install it yourself as:
22
+
23
+ $ gem install here_geocoder
24
+
25
+ ## Configuration
26
+
27
+
28
+ ```ruby
29
+ # This is your Here application key for the Here Geocoder.
30
+ # See https://developer.here.com/develop/rest-apis
31
+ Geokit::Geocoders::HereGeocoder.app_id = 'REPLACE_WITH_YOUR_KEY'
32
+ Geokit::Geocoders::HereGeocoder.app_code = 'REPLACE_WITH_YOUR_CODE'
33
+ ```
34
+
35
+
36
+ ## Usage
37
+
38
+ ```ruby
39
+ # use :here to specify this geocoder in your list of geocoders.
40
+ Geokit::Geocoders::HereGeocoder.geocode("Sunnyvale, CA")
41
+ ```
42
+
43
+ ## Contributing
44
+
45
+ 1. Fork it ( https://github.com/[my-github-username]/here_geocoder/fork )
46
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
47
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
48
+ 4. Push to the branch (`git push origin my-new-feature`)
49
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
7
+
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "here_geocoder"
7
+ spec.version = "0.0.1"
8
+ spec.authors = ["Serhiy Rozum"]
9
+ spec.email = ["sergey.rozum@gmail.com"]
10
+ spec.summary = %q{Geokit custom geocoder for Here.com service}
11
+ spec.description = %q{Geokit custom geocoder for Here.com service}
12
+ spec.homepage = "https://github.com/srozum/here_geocoder.git"
13
+ spec.license = "MIT"
14
+
15
+ spec.files = `git ls-files -z`.split("\x0")
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_development_dependency "bundler", "~> 1.6"
21
+ spec.add_development_dependency "rake"
22
+ spec.add_development_dependency "rspec"
23
+ spec.add_development_dependency "vcr"
24
+ spec.add_development_dependency "webmock"
25
+
26
+ spec.add_dependency "geokit"
27
+
28
+ end
@@ -0,0 +1,69 @@
1
+ require 'geokit'
2
+
3
+ module Geokit
4
+ module Geocoders
5
+ class HereGeocoder < Geocoder
6
+
7
+ config :app_id, :app_code
8
+
9
+ private
10
+
11
+ def self.do_geocode(address, options = {})
12
+
13
+ if (app_id.nil? || app_id.empty?) || (app_code.nil? || app_code.empty?)
14
+ raise(Geokit::Geocoders::GeocodeError, "Here geocoder API requires auth id and code to use their service.")
15
+ end
16
+
17
+ process :xml, submit_url(address)
18
+ end
19
+
20
+ def self.submit_url(address)
21
+ args = []
22
+ args << "app_id=#{Geokit::Inflector.url_escape(app_id)}"
23
+ args << "app_code=#{Geokit::Inflector.url_escape(app_code)}"
24
+ args << "additionaldata=Country2,1"
25
+ args << "language=en-US"
26
+ args << "gen=9"
27
+
28
+ address_str = address.is_a?(GeoLoc) ? address.to_geocodeable_s : address
29
+
30
+ args << "searchtext=#{Geokit::Inflector.url_escape(address_str)}"
31
+
32
+ [api_endpoint, '?', args.join('&')].join('')
33
+ end
34
+
35
+ def self.api_endpoint
36
+ if ENV['RAKE_ENV'] == 'test'
37
+ "https://geocoder.cit.api.here.com/6.2/geocode.xml"
38
+ else
39
+ "https://geocoder.api.here.com/6.2/geocode.xml"
40
+ end
41
+ end
42
+
43
+ XML_MAPPINGS = {
44
+ street_number: "Location/Address/HouseNumber",
45
+ street_name: "Location/Address/Street",
46
+ province: "Location/Address/County",
47
+ city: "Location/Address/City",
48
+ state_name: "Location/Address/AdditionalData[@key='StateName']",
49
+ state_code: "Location/Address/State",
50
+ zip: "Location/Address/PostalCode",
51
+ country_code: "Location/Address/AdditionalData[@key='Country2']",
52
+ country: "Location/Address/AdditionalData[@key='CountryName']",
53
+ lat: "Location/DisplayPosition/Latitude",
54
+ lng: "Location/DisplayPosition/Longitude",
55
+ }
56
+
57
+ def self.parse_xml(xml)
58
+ results = xml.elements.to_a("//Result")
59
+ return GeoLoc.new if results.nil? || results.count == 0
60
+ loc = new_loc
61
+ # only take the first result
62
+ set_mappings(loc, results.first, XML_MAPPINGS)
63
+ loc.success = true
64
+ loc
65
+ end
66
+
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://geocoder.cit.api.here.com/6.2/geocode.xml?additionaldata=Country2,1&app_code=<HERE_APP_CODE>&app_id=<HERE_APP_ID>&gen=9&language=en-US&searchtext=Abcdefg
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Access-Control-Allow-Origin:
22
+ - "*"
23
+ Cache-Control:
24
+ - public, max-age=86400
25
+ Content-Type:
26
+ - application/xml;charset=utf-8
27
+ Date:
28
+ - Thu, 08 Sep 2016 20:11:43 GMT
29
+ Server:
30
+ - nginx-clojure
31
+ X-Nlp-Irt:
32
+ - '1383'
33
+ X-Nlp-Log:
34
+ - Z2NfYz0tIGdjX2w9LSBnY19tPWFk
35
+ X-Nlp-Tid:
36
+ - daf93d23-30ab-4162-bfe0-f1f1a08b8944
37
+ X-Served-By:
38
+ - i-0a61c712.us-west-2a
39
+ Content-Length:
40
+ - '185'
41
+ Connection:
42
+ - keep-alive
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:Search xmlns:ns2="http://www.navteq.com/lbsp/Search-Search/4"><Response><MetaInfo><Timestamp>2016-09-08T19:54:35.721Z</Timestamp></MetaInfo></Response></ns2:Search>
46
+ http_version:
47
+ recorded_at: Thu, 08 Sep 2016 20:11:43 GMT
48
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://geocoder.cit.api.here.com/6.2/geocode.xml?additionaldata=Country2,1&app_code=fake&app_id=test&gen=9&language=en-US&searchtext=Sunnyvale,%20CA
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 401
19
+ message: Unauthorized
20
+ headers:
21
+ Access-Control-Allow-Origin:
22
+ - "*"
23
+ Content-Type:
24
+ - application/xml;charset=utf-8
25
+ Date:
26
+ - Thu, 08 Sep 2016 20:10:14 GMT
27
+ Server:
28
+ - nginx-clojure
29
+ X-Nlp-Irt:
30
+ - '1326'
31
+ X-Nlp-Log:
32
+ - ''
33
+ X-Nlp-Tid:
34
+ - 8a8d745e-7098-4d88-b9de-5cd4480ae7cc
35
+ X-Served-By:
36
+ - i-0a61c712.us-west-2a
37
+ Content-Length:
38
+ - '170'
39
+ Connection:
40
+ - keep-alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: <ns2:Error xmlns:ns2="http://www.navteq.com/lbsp/Errors/1" type="PermissionError"
44
+ subtype="InvalidCredentials"><Details>invalid credentials for test</Details></ns2:Error>
45
+ http_version:
46
+ recorded_at: Thu, 08 Sep 2016 20:10:15 GMT
47
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,54 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://geocoder.cit.api.here.com/6.2/geocode.xml?additionaldata=Country2,1&app_code=<HERE_APP_CODE>&app_id=<HERE_APP_ID>&gen=9&language=en-US&searchtext=Sunnyvale,%20CA
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Access-Control-Allow-Origin:
22
+ - "*"
23
+ Cache-Control:
24
+ - public, max-age=86400
25
+ Content-Type:
26
+ - application/xml;charset=utf-8
27
+ Date:
28
+ - Thu, 08 Sep 2016 20:11:43 GMT
29
+ Server:
30
+ - nginx-clojure
31
+ X-Nlp-Irt:
32
+ - '2929'
33
+ X-Nlp-Log:
34
+ - Z2NfYz1VU0EgZ2NfbD1jaXR5IGdjX209YXI=
35
+ X-Nlp-Tid:
36
+ - d0d1ed09-1cda-4ca9-a2a1-5ee746f81500
37
+ X-Served-By:
38
+ - i-0a61c712.us-west-2a
39
+ Content-Length:
40
+ - '627'
41
+ Connection:
42
+ - keep-alive
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:Search xmlns:ns2="http://www.navteq.com/lbsp/Search-Search/4"><Response><MetaInfo><Timestamp>2016-09-08T19:47:49.087Z</Timestamp></MetaInfo><View
46
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:SearchResultsViewType"><ViewId>0</ViewId><Result><Relevance>1.0</Relevance><MatchLevel>city</MatchLevel><MatchQuality><State>1.0</State><City>1.0</City></MatchQuality><Location><LocationId>NT_FE3T7HawlbK76SxDmyKlUA</LocationId><LocationType>area</LocationType><DisplayPosition><Latitude>37.37172</Latitude><Longitude>-122.03801</Longitude></DisplayPosition><NavigationPosition><Latitude>37.37172</Latitude><Longitude>-122.03801</Longitude></NavigationPosition><MapView><TopLeft><Latitude>37.45103</Latitude><Longitude>-122.06566</Longitude></TopLeft><BottomRight><Latitude>37.3323</Latitude><Longitude>-121.98241</Longitude></BottomRight></MapView><Address><Label>Sunnyvale,
47
+ CA, United States</Label><Country>USA</Country><State>CA</State><County>Santa
48
+ Clara</County><City>Sunnyvale</City><PostalCode>94086</PostalCode><AdditionalData
49
+ key="Country2">US</AdditionalData><AdditionalData key="CountryName">United
50
+ States</AdditionalData><AdditionalData key="StateName">California</AdditionalData><AdditionalData
51
+ key="CountyName">Santa Clara</AdditionalData><AdditionalData key="PostalCodeType">N</AdditionalData></Address></Location></Result></View></Response></ns2:Search>
52
+ http_version:
53
+ recorded_at: Thu, 08 Sep 2016 20:11:43 GMT
54
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,73 @@
1
+ require 'spec_helper'
2
+
3
+ describe Geokit::Geocoders::HereGeocoder do
4
+
5
+ let(:address) { "Sunnyvale, CA" }
6
+
7
+ subject { described_class.geocode(address) }
8
+
9
+ context "when missing credentials" do
10
+
11
+ it 'raises an error' do
12
+ expect { subject }.to raise_error Geokit::Geocoders::GeocodeError
13
+ end
14
+ end
15
+
16
+ context "with invalid credentials" do
17
+
18
+ before do
19
+ Geokit::Geocoders::HereGeocoder.app_id = "test"
20
+ Geokit::Geocoders::HereGeocoder.app_code = "fake"
21
+ end
22
+
23
+ it 'returns invalid location' do
24
+ VCR.use_cassette("permission_denied") do
25
+ expect( subject.success? ).to be false
26
+ end
27
+ end
28
+ end
29
+
30
+ context "with correct credentials" do
31
+
32
+ before do
33
+ Geokit::Geocoders::HereGeocoder.app_id = ENV['HERE_APP_ID']
34
+ Geokit::Geocoders::HereGeocoder.app_code = ENV['HERE_APP_CODE']
35
+ end
36
+
37
+ it 'not raises an error' do
38
+ VCR.use_cassette("sunnyvale_location") do
39
+ expect { subject }.not_to raise_error
40
+ end
41
+ end
42
+
43
+ it 'returns valid location' do
44
+ VCR.use_cassette("sunnyvale_location") do
45
+ expect( subject.success? ).to be true
46
+ expect( subject.province ).to eq "Santa Clara"
47
+ expect( subject.city ).to eq "Sunnyvale"
48
+ expect( subject.state_name ).to eq "California"
49
+ expect( subject.state_code ).to eq "CA"
50
+ expect( subject.state ).to eq "CA"
51
+ expect( subject.zip ).to eq "94086"
52
+ expect( subject.country_code ).to eq "US"
53
+ expect( subject.country ).to eq "United States"
54
+ expect( subject.lat ).to eq 37.37172
55
+ expect( subject.lng ).to eq -122.03801
56
+ end
57
+ end
58
+
59
+ context "fake location" do
60
+
61
+ let(:address) { "Abcdefg" }
62
+
63
+ it 'returns invalid location' do
64
+ VCR.use_cassette("fake_location") do
65
+ expect( subject.success? ).to be false
66
+ end
67
+ end
68
+
69
+ end
70
+
71
+ end
72
+
73
+ end
@@ -0,0 +1,14 @@
1
+ ENV['RAKE_ENV'] = 'test'
2
+
3
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
+ require 'here_geocoder'
5
+
6
+ require "vcr"
7
+
8
+ VCR.configure do |config|
9
+ config.cassette_library_dir = "spec/cassettes"
10
+ config.hook_into :webmock
11
+
12
+ config.filter_sensitive_data('<HERE_APP_ID>') { ENV['HERE_APP_ID'] }
13
+ config.filter_sensitive_data('<HERE_APP_CODE>') { ENV['HERE_APP_CODE'] }
14
+ end
metadata ADDED
@@ -0,0 +1,147 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: here_geocoder
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Serhiy Rozum
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-09-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: vcr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: geokit
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Geokit custom geocoder for Here.com service
98
+ email:
99
+ - sergey.rozum@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - ".rspec"
106
+ - ".travis.yml"
107
+ - Gemfile
108
+ - LICENSE.txt
109
+ - README.md
110
+ - Rakefile
111
+ - here_geocoder.gemspec
112
+ - lib/here_geocoder.rb
113
+ - spec/cassettes/fake_location.yml
114
+ - spec/cassettes/permission_denied.yml
115
+ - spec/cassettes/sunnyvale_location.yml
116
+ - spec/here_geocoder_spec.rb
117
+ - spec/spec_helper.rb
118
+ homepage: https://github.com/srozum/here_geocoder.git
119
+ licenses:
120
+ - MIT
121
+ metadata: {}
122
+ post_install_message:
123
+ rdoc_options: []
124
+ require_paths:
125
+ - lib
126
+ required_ruby_version: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ required_rubygems_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ requirements: []
137
+ rubyforge_project:
138
+ rubygems_version: 2.5.1
139
+ signing_key:
140
+ specification_version: 4
141
+ summary: Geokit custom geocoder for Here.com service
142
+ test_files:
143
+ - spec/cassettes/fake_location.yml
144
+ - spec/cassettes/permission_denied.yml
145
+ - spec/cassettes/sunnyvale_location.yml
146
+ - spec/here_geocoder_spec.rb
147
+ - spec/spec_helper.rb