heremaps 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 513297b00624a565758af0a14a3e7621fc478e9a579035dd2fee2beec9288e2d
4
- data.tar.gz: 332da80fa8c3b3905e2becf224d4c9ea873222f846eb020a4dc01fb97c62dc49
3
+ metadata.gz: 1a8d47cb556d071e120a577256508549cf8d8eb3832eace8d3bb720568d03080
4
+ data.tar.gz: 9c627122af453922886bee09cdbf2f0415f93417905984041d889e6e2356ccc4
5
5
  SHA512:
6
- metadata.gz: 9cc9f57a1a4415a5986d153954665d1d8d1e5a26425b7507eb2669430707c00f267758b20028ca061c4f2e639eafce976e19f35226bdf20fbf51f24e004887c0
7
- data.tar.gz: 150f6c5c7a2e9c735fb7e7a1b6b59cca45a6b94cc580b30e038e8e096a7606011874ad09a5054ee2ee0730762029e4aeefc425e8c9671b9bf15873e9057f4d1b
6
+ metadata.gz: 1254781eeded79b909cc319afc43e88a53f5f91f6845bd94abdf8b2d486d22d02537742526fce09721fa7e7e5fbe4a1c1a77249d911dcfb131658a0b9371e777
7
+ data.tar.gz: d512d26140fe1090d4251191b9b8ec79ed57f3b1cbadeed77c02169da7ade0259965d6a003d3ff6cecd8b2f93f5394f06cd1b3800eca3d6dd83daac2d719031c
data/.gitignore CHANGED
@@ -11,3 +11,4 @@
11
11
  .rspec_status
12
12
  .idea
13
13
  .vscode
14
+ heremaps
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- heremaps (0.1.0)
4
+ heremaps (0.2.0)
5
5
  rest-client
6
6
 
7
7
  GEM
@@ -11,7 +11,7 @@ GEM
11
11
  backport (1.1.2)
12
12
  debase (0.2.4.1)
13
13
  debase-ruby_core_source (>= 0.10.2)
14
- debase-ruby_core_source (0.10.5)
14
+ debase-ruby_core_source (0.10.9)
15
15
  diff-lcs (1.3)
16
16
  domain_name (0.5.20190701)
17
17
  unf (>= 0.0.5, < 1.0.0)
@@ -19,16 +19,16 @@ GEM
19
19
  http-accept (1.7.0)
20
20
  http-cookie (1.0.3)
21
21
  domain_name (~> 0.5)
22
- jaro_winkler (1.5.3)
23
- mime-types (3.3)
22
+ jaro_winkler (1.5.4)
23
+ mime-types (3.3.1)
24
24
  mime-types-data (~> 3.2015)
25
- mime-types-data (3.2019.0904)
25
+ mime-types-data (3.2019.1009)
26
26
  mini_portile2 (2.4.0)
27
27
  netrc (0.11.0)
28
- nokogiri (1.10.4)
28
+ nokogiri (1.10.7)
29
29
  mini_portile2 (~> 2.4.0)
30
- parallel (1.17.0)
31
- parser (2.6.4.1)
30
+ parallel (1.19.1)
31
+ parser (2.7.0.2)
32
32
  ast (~> 2.4.0)
33
33
  rainbow (3.0.0)
34
34
  rake (10.5.0)
@@ -37,7 +37,7 @@ GEM
37
37
  http-cookie (>= 1.0.2, < 2.0)
38
38
  mime-types (>= 1.16, < 4.0)
39
39
  netrc (~> 0.8)
40
- reverse_markdown (1.3.0)
40
+ reverse_markdown (1.4.0)
41
41
  nokogiri
42
42
  rspec (3.8.0)
43
43
  rspec-core (~> 3.8.0)
@@ -45,17 +45,17 @@ GEM
45
45
  rspec-mocks (~> 3.8.0)
46
46
  rspec-core (3.8.2)
47
47
  rspec-support (~> 3.8.0)
48
- rspec-expectations (3.8.4)
48
+ rspec-expectations (3.8.6)
49
49
  diff-lcs (>= 1.2.0, < 2.0)
50
50
  rspec-support (~> 3.8.0)
51
- rspec-mocks (3.8.1)
51
+ rspec-mocks (3.8.2)
52
52
  diff-lcs (>= 1.2.0, < 2.0)
53
53
  rspec-support (~> 3.8.0)
54
- rspec-support (3.8.2)
55
- rubocop (0.74.0)
54
+ rspec-support (3.8.3)
55
+ rubocop (0.79.0)
56
56
  jaro_winkler (~> 1.5.1)
57
57
  parallel (~> 1.10)
58
- parser (>= 2.6)
58
+ parser (>= 2.7.0.1)
59
59
  rainbow (>= 2.2.2, < 4.0)
60
60
  ruby-progressbar (~> 1.7)
61
61
  unicode-display_width (>= 1.4.0, < 1.7)
@@ -75,18 +75,18 @@ GEM
75
75
  tilt (~> 2.0)
76
76
  yard (~> 0.9)
77
77
  thor (0.20.3)
78
- tilt (2.0.9)
78
+ tilt (2.0.10)
79
79
  unf (0.1.4)
80
80
  unf_ext
81
81
  unf_ext (0.0.7.6)
82
- unicode-display_width (1.6.0)
83
- yard (0.9.20)
82
+ unicode-display_width (1.6.1)
83
+ yard (0.9.24)
84
84
 
85
85
  PLATFORMS
86
86
  ruby
87
87
 
88
88
  DEPENDENCIES
89
- bundler (~> 1.17)
89
+ bundler (~> 2.1.4)
90
90
  debase (~> 0.2.4.1)
91
91
  heremaps!
92
92
  rake (~> 10.0)
@@ -95,4 +95,4 @@ DEPENDENCIES
95
95
  solargraph (~> 0.37.2)
96
96
 
97
97
  BUNDLED WITH
98
- 1.17.2
98
+ 2.1.4
data/README.md CHANGED
@@ -4,8 +4,9 @@ This `ruby gem` provide the functionality to integrate with HERE Maps API, as de
4
4
 
5
5
  APIs Currently Integrated
6
6
 
7
- - SEARCH (PLACES) AND GEOCODING APIs
8
- - ROUTING APIs
7
+ - Places REST API
8
+ - GEOCODING REST APIs
9
+ - ROUTING REST APIs
9
10
 
10
11
  ## Installation
11
12
 
@@ -27,12 +28,12 @@ cmd> gem install heremaps
27
28
  ```
28
29
  ## Usage
29
30
 
30
- To initialize the Heremaps library, you must generate the Heremaps APP ID and APP CODE. And set it as shown below
31
+ To initialize the Heremaps library, you must generate the Heremaps Api Key and domain (for prod and test). And set it as shown below
31
32
  ```ruby
32
33
  require "heremaps"
33
34
  ...
34
- Heremaps.app_id = "<app_id>"
35
- Heremaps.app_code = "<app_code>"
35
+ Heremaps.apiKey = "<apiKey>"
36
+ Heremaps.url_domain = "ls.hereapi.com"
36
37
  ```
37
38
  ### Calling Heremap API
38
39
 
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.require_paths = ["lib"]
31
31
 
32
32
  spec.add_runtime_dependency "rest-client"
33
- spec.add_development_dependency "bundler", "~> 1.17"
33
+ spec.add_development_dependency "bundler", "~> 2.1.4"
34
34
  spec.add_development_dependency "debase", "~> 0.2.4.1"
35
35
  spec.add_development_dependency "rake", "~> 10.0"
36
36
  spec.add_development_dependency "rspec", "~> 3.8.0"
@@ -28,8 +28,4 @@ module Heremaps
28
28
  require "heremaps/resources/routing/calculate_matrix"
29
29
  require "heremaps/resources/routing/get_route"
30
30
  require "heremaps/resources/routing/get_routing_zones"
31
-
32
- class << self
33
- attr_accessor :app_id, :app_code, :env
34
- end
35
31
  end
@@ -1,11 +1,10 @@
1
1
  module Heremaps
2
2
  class Base
3
- attr_accessor :method_name, :base_url, :test_url, :path
3
+ attr_accessor :method_name, :service, :path
4
4
 
5
5
  def request_url(format: "json")
6
6
  format ||= "json"
7
- url = (Heremaps.env == "test") ? test_url : base_url
8
- url = File.join(url, path, "#{method_name}.#{format}")
7
+ url = File.join("https://", service + "." + Heremaps::DOMAIN, path, "#{method_name}.#{format}")
9
8
  url
10
9
  end
11
10
 
@@ -15,7 +14,7 @@ module Heremaps
15
14
  end
16
15
 
17
16
  def prepare_the_request(options = {})
18
- options = options.merge(:app_id => Heremaps.app_id, :app_code => Heremaps.app_code)
17
+ options = options.merge(:apiKey => Heremaps::API_KEY)
19
18
  options
20
19
  end
21
20
 
@@ -1,13 +1,11 @@
1
1
  module Heremaps
2
2
  module Geocoder
3
3
  class Geocode < Heremaps::Base
4
- BASE_URL = "https://geocoder.api.here.com".freeze
5
- TEST_URL = "https://geocoder.cit.api.here.com".freeze
4
+ SERVICE = "geocoder".freeze
6
5
  PATH = "/6.2/".freeze
7
6
 
8
7
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
8
+ @service = SERVICE
11
9
  @path = PATH
12
10
  @method_name = "geocode".freeze # getroute as default method.
13
11
  end
@@ -1,13 +1,11 @@
1
1
  module Heremaps
2
2
  module Geocoder
3
3
  class Landmark < Heremaps::Base
4
- BASE_URL = "https://geocoder.api.here.com".freeze
5
- TEST_URL = "http://geocoder.cit.api.here.com".freeze
4
+ SERVICE = "geocoder".freeze
6
5
  PATH = "/6.2/".freeze
7
6
 
8
7
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
8
+ @service = SERVICE
11
9
  @path = PATH
12
10
  @method_name = "search".freeze # getroute as default method.
13
11
  end
@@ -1,13 +1,11 @@
1
1
  module Heremaps
2
2
  module Geocoder
3
3
  class MultiReverse < Heremaps::Base
4
- BASE_URL = "https://reverse.geocoder.api.here.com".freeze
5
- TEST_URL = "http://reverse.geocoder.cit.api.here.com".freeze
4
+ SERVICE = "reverse.geocoder".freeze
6
5
  PATH = "/6.2/".freeze
7
6
 
8
7
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
8
+ @service = SERVICE
11
9
  @path = PATH
12
10
  @method_name = "multi-reversegeocode".freeze # getroute as default method.
13
11
  end
@@ -1,13 +1,11 @@
1
1
  module Heremaps
2
2
  module Geocoder
3
3
  class Reverse < Heremaps::Base
4
- BASE_URL = "https://reverse.geocoder.api.here.com".freeze
5
- TEST_URL = "http://reverse.geocoder.cit.api.here.com".freeze
4
+ SERVICE = "reverse.geocoder".freeze
6
5
  PATH = "/6.2/".freeze
7
6
 
8
7
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
8
+ @service = SERVICE
11
9
  @path = PATH
12
10
  @method_name = "reversegeocode".freeze # getroute as default method.
13
11
  end
@@ -2,8 +2,7 @@ module Heremaps
2
2
  module Places
3
3
  class Base < Heremaps::Base
4
4
  def request_url
5
- url = (Heremaps.env == "test") ? test_url : base_url
6
- url = File.join(url, path, method_name.to_s)
5
+ url = File.join("https://", service + "." + Heremaps::DOMAIN, path, method_name.to_s)
7
6
  url
8
7
  end
9
8
 
@@ -1,13 +1,11 @@
1
1
  module Heremaps
2
2
  module Places
3
3
  class Categories < Base
4
- BASE_URL = "https://places.api.here.com/places".freeze
5
- TEST_URL = "https://places.cit.api.here.com".freeze
6
- PATH = "/v1/".freeze
4
+ SERVICE = "places".freeze
5
+ PATH = "/places/v1/".freeze
7
6
 
8
7
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
8
+ @service = SERVICE
11
9
  @path = PATH
12
10
  @method_name = "categories/places".freeze # getroute as default method.
13
11
  end
@@ -2,13 +2,11 @@ module Heremaps
2
2
  module Places
3
3
  module Discover
4
4
  class Explore < Base
5
- BASE_URL = "https://places.api.here.com/places".freeze
6
- TEST_URL = "https://places.cit.api.here.com".freeze
7
- PATH = "/v1/".freeze
5
+ SERVICE = "places".freeze
6
+ PATH = "/places/v1/".freeze
8
7
 
9
8
  def initialize
10
- @base_url = BASE_URL
11
- @test_url = TEST_URL
9
+ @service = SERVICE
12
10
  @path = PATH
13
11
  @method_name = "discover/explore".freeze # getroute as default method.
14
12
  end
@@ -2,13 +2,11 @@ module Heremaps
2
2
  module Places
3
3
  module Discover
4
4
  class Here < Base
5
- BASE_URL = "https://places.api.here.com/places".freeze
6
- TEST_URL = "https://places.cit.api.here.com".freeze
7
- PATH = "/v1/".freeze
5
+ SERVICE = "places".freeze
6
+ PATH = "/places/v1/".freeze
8
7
 
9
8
  def initialize
10
- @base_url = BASE_URL
11
- @test_url = TEST_URL
9
+ @service = SERVICE
12
10
  @path = PATH
13
11
  @method_name = "discover/here".freeze # getroute as default method.
14
12
  end
@@ -2,13 +2,11 @@ module Heremaps
2
2
  module Places
3
3
  module Discover
4
4
  class Search < Base
5
- BASE_URL = "https://places.api.here.com/places".freeze
6
- TEST_URL = "https://places.cit.api.here.com".freeze
7
- PATH = "/v1/".freeze
5
+ SERVICE = "places".freeze
6
+ PATH = "/places/v1/".freeze
8
7
 
9
8
  def initialize
10
- @base_url = BASE_URL
11
- @test_url = TEST_URL
9
+ @service = SERVICE
12
10
  @path = PATH
13
11
  @method_name = "discover/search".freeze # getroute as default method.
14
12
  end
@@ -1,13 +1,11 @@
1
1
  module Heremaps
2
2
  module Places
3
3
  class Suggest < Base
4
- BASE_URL = "https://places.api.here.com/places".freeze
5
- TEST_URL = "https://places.cit.api.here.com".freeze
6
- PATH = "/v1/".freeze
4
+ SERVICE = "places".freeze
5
+ PATH = "/places/v1/".freeze
7
6
 
8
7
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
8
+ @service = SERVICE
11
9
  @path = PATH
12
10
  @method_name = "suggest".freeze # getroute as default method.
13
11
  end
@@ -1,13 +1,12 @@
1
1
  module Heremaps
2
2
  module Routing
3
3
  class Calculate < Heremaps::Base
4
- BASE_URL = "https://route.api.here.com/routing".freeze
5
- TEST_URL = "https://route.cit.api.here.com/routing".freeze
6
- PATH = "/7.2/".freeze
4
+ # route.ls.hereapi.com/routing/7.2/calculateroute.json
5
+ SERVICE = "route".freeze
6
+ PATH = "/routing/7.2/".freeze
7
7
 
8
8
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
9
+ @service = SERVICE
11
10
  @path = PATH
12
11
  @method_name = "calculateroute".freeze # getroute as default method.
13
12
  end
@@ -1,13 +1,11 @@
1
1
  module Heremaps
2
2
  module Routing
3
3
  class CalculateIsoline < Heremaps::Base
4
- BASE_URL = "https://isoline.route.api.here.com/routing".freeze
5
- TEST_URL = "https://isoline.cit.route.api.here.com/routing".freeze
6
- PATH = "/7.2/".freeze
4
+ SERVICE = "isoline.route".freeze
5
+ PATH = "/routing/7.2/".freeze
7
6
 
8
7
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
8
+ @service = SERVICE
11
9
  @path = PATH
12
10
  @method_name = "calculateisoline".freeze # getroute as default method.
13
11
  end
@@ -1,13 +1,11 @@
1
1
  module Heremaps
2
2
  module Routing
3
3
  class CalculateMatrix < Heremaps::Base
4
- BASE_URL = "https://matrix.route.api.here.com/routing".freeze
5
- TEST_URL = "https://matrix.cit.route.api.here.com/routing".freeze
6
- PATH = "/7.2/".freeze
4
+ SERVICE = "matrix.route".freeze
5
+ PATH = "/routing/7.2/".freeze
7
6
 
8
7
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
8
+ @service = SERVICE
11
9
  @path = PATH
12
10
  @method_name = "calculatematrix".freeze # getroute as default method.
13
11
  end
@@ -1,13 +1,11 @@
1
1
  module Heremaps
2
2
  module Routing
3
3
  class GetRoute < Heremaps::Base
4
- BASE_URL = "https://route.api.here.com/routing".freeze
5
- TEST_URL = "https://route.cit.api.here.com/routing".freeze
6
- PATH = "/7.2/".freeze
4
+ SERVICE = "route".freeze
5
+ PATH = "/routing/7.2/".freeze
7
6
 
8
7
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
8
+ @service = SERVICE
11
9
  @path = PATH
12
10
  @method_name = "getroute".freeze # getroute as default method.
13
11
  end
@@ -1,13 +1,11 @@
1
1
  module Heremaps
2
2
  module Routing
3
3
  class GetRouteZones < Heremaps::Base
4
- BASE_URL = "https://route.api.here.com/routing".freeze
5
- TEST_URL = "https://route.cit.api.here.com/routing".freeze
6
- PATH = "/7.2/".freeze
4
+ SERVICE = "route".freeze
5
+ PATH = "/routing/7.2/".freeze
7
6
 
8
7
  def initialize
9
- @base_url = BASE_URL
10
- @test_url = TEST_URL
8
+ @service = SERVICE
11
9
  @path = PATH
12
10
  @method_name = "getroutingzones".freeze # getroute as default method.
13
11
  end
@@ -1,3 +1,5 @@
1
1
  module Heremaps
2
- VERSION = "0.1.0".freeze
2
+ VERSION = "0.2.0".freeze
3
+ API_KEY = ENV["HEREMAPS_API_KEY"] || "NOT_PROVIDED"
4
+ DOMAIN = ENV["HEREMAPS_DOMAIN"] || "ls.hereapi.com"
3
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heremaps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dheeraj (DJ) Agrawal
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-24 00:00:00.000000000 Z
11
+ date: 2020-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.17'
33
+ version: 2.1.4
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.17'
40
+ version: 2.1.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: debase
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -126,8 +126,6 @@ files:
126
126
  - LICENSE.txt
127
127
  - README.md
128
128
  - Rakefile
129
- - bin/console
130
- - bin/setup
131
129
  - heremaps.gemspec
132
130
  - lib/heremaps.rb
133
131
  - lib/heremaps/resources/base.rb
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "heremaps"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here