route 0.0.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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/route.rb +38 -0
  3. metadata +45 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3a24d7462cacf128c42e49ec47b14c49fd254dd6
4
+ data.tar.gz: a62ff7409907e053db8cdd20f7eefedc59f64467
5
+ SHA512:
6
+ metadata.gz: 1163fbb0be111c7bc8b93db8414511b2e25f4adb93cb9277b9d60a613ceb6f64b99a7a87070bb0d5576cb9254789bbd442b483d0effe6b95018fab4c92404a2a
7
+ data.tar.gz: d282c4131cd510997c657262a94669e98e5ac6735fe0b4b714c2f64dda457270289a6a555880c3a59cb8c57023d6d70cea0f9ad28a3917c519fc02094efa5980
data/lib/route.rb ADDED
@@ -0,0 +1,38 @@
1
+ require 'net/https'
2
+ require 'url'
3
+ require 'json'
4
+ class Route
5
+ def initialize(id , code)
6
+ @id = id
7
+ @code = code
8
+ end
9
+ def route( start, destination)
10
+ s = loc(start)
11
+ d = loc(destination)
12
+ url = "https://route.api.here.com/routing/7.2/calculateroute.json" + "?app_id=" + @id + "&app_code=" + @code + "&waypoint0=geo!" + s + "&waypoint1=geo!" + d + "&mode=fastest;car;traffic:disabled&metricSystem=metric"
13
+ request = Net::HTTP::get(URI(url))
14
+ res = JSON.parse(request)
15
+ dis = res["response"]["route"][0]["summary"]["distance"]
16
+ tie = res["response"]["route"][0]["summary"]["baseTime"]
17
+ km = dis/1000.0
18
+ t = ""
19
+ if tie > 3600
20
+ h = tie/3600
21
+ tie = tie%3600
22
+ t = h.to_s + ' hours :'
23
+ end
24
+ t = t + (tie/60).to_s + ' minutes :' + (tie%60).to_s + " seconds"
25
+ return km.to_s, t
26
+ end
27
+
28
+ def loc(search)
29
+ url = "https://geocoder.api.here.com/6.2/geocode.json" + "?app_id=" + @id + "&app_code=" + @code + "&searchtext=" + search
30
+ request = Net::HTTP::get(URI(url))
31
+ res = JSON.parse(request)
32
+ lat = res["Response"]["View"][0]["Result"][0]["Location"]["NavigationPosition"][0]["Latitude"]
33
+ log = res["Response"]["View"][0]["Result"][0]["Location"]["NavigationPosition"][0]["Longitude"]
34
+ r = lat.to_s + "," + log.to_s
35
+ return r
36
+ end
37
+ private :loc
38
+ end
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: route
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Punith
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-12-09 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: |-
14
+ returns true if the given number is even,
15
+ otherwise returns false.
16
+ email: punithpreddy1994@email.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/route.rb
22
+ homepage: http://rubygems.org/gems/pricecalculator
23
+ licenses: []
24
+ metadata: {}
25
+ post_install_message:
26
+ rdoc_options: []
27
+ require_paths:
28
+ - lib
29
+ required_ruby_version: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubyforge_project:
41
+ rubygems_version: 2.6.8
42
+ signing_key:
43
+ specification_version: 4
44
+ summary: verifies if a given number is even.
45
+ test_files: []