aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorTeddy Wing2018-03-12 12:43:46 +0100
committerTeddy Wing2018-03-14 16:38:39 +0100
commit587bac0983d80a7ace5813e239ca951155fc56f6 (patch)
tree7a42425134e40e88dae6ba6fc92fcd6aa9782ab5 /lib
parentf04a89b3af581c8956add61e4a05edc0ae9405f5 (diff)
downloadchouette-core-587bac0983d80a7ace5813e239ca951155fc56f6.tar.bz2
tom_tom/batch: Use `module ...` syntax
Change the `TomTom::Batch` to `module ... class ...` syntax instead. I like this better in this case. Refs #6095
Diffstat (limited to 'lib')
-rw-r--r--lib/tom_tom/batch.rb104
1 files changed, 53 insertions, 51 deletions
diff --git a/lib/tom_tom/batch.rb b/lib/tom_tom/batch.rb
index e20989c84..4d590a945 100644
--- a/lib/tom_tom/batch.rb
+++ b/lib/tom_tom/batch.rb
@@ -1,58 +1,60 @@
-class TomTom::Batch
- BASE_URL = 'https://api.tomtom.com'
- API_KEY = Rails.application.secrets.tomtom_api_key
-
- def initialize
- @connection = Faraday.new(
- url: BASE_URL,
- params: {
- key: API_KEY
- }
- ) do |faraday|
- faraday.use FaradayMiddleware::FollowRedirects, limit: 1
- faraday.adapter Faraday.default_adapter
- end
- end
-
- def batch(way_costs)
- params = URI.encode_www_form({
- travelMode: 'bus',
- routeType: 'shortest'
- })
- batch_items = convert_way_costs_for_batch(way_costs).map do |locations|
- {
- query: "/calculateRoute/#{locations}/json?#{params}"
- }
- end
-
- response = @connection.post do |req|
- req.url '/routing/1/batch/json'
- req.headers['Content-Type'] = 'application/json'
- req.body = {
- batchItems: batch_items
- }.to_json
+module TomTom
+ class Batch
+ BASE_URL = 'https://api.tomtom.com'
+ API_KEY = Rails.application.secrets.tomtom_api_key
+
+ def initialize
+ @connection = Faraday.new(
+ url: BASE_URL,
+ params: {
+ key: API_KEY
+ }
+ ) do |faraday|
+ faraday.use FaradayMiddleware::FollowRedirects, limit: 1
+ faraday.adapter Faraday.default_adapter
+ end
end
- response = JSON.parse(response.body)
-
- calculated_routes = response['batchItems']
- calculated_routes.each_with_index do |route, i|
- next if route['statusCode'] != 200
-
- distance = route['response']['routes'][0]['summary']['lengthInMeters']
- time = route['response']['routes'][0]['summary']['travelTimeInSeconds']
-
- way_costs[i].distance = distance
- way_costs[i].time = time
+ def batch(way_costs)
+ params = URI.encode_www_form({
+ travelMode: 'bus',
+ routeType: 'shortest'
+ })
+ batch_items = convert_way_costs_for_batch(way_costs).map do |locations|
+ {
+ query: "/calculateRoute/#{locations}/json?#{params}"
+ }
+ end
+
+ response = @connection.post do |req|
+ req.url '/routing/1/batch/json'
+ req.headers['Content-Type'] = 'application/json'
+ req.body = {
+ batchItems: batch_items
+ }.to_json
+ end
+
+ response = JSON.parse(response.body)
+
+ calculated_routes = response['batchItems']
+ calculated_routes.each_with_index do |route, i|
+ next if route['statusCode'] != 200
+
+ distance = route['response']['routes'][0]['summary']['lengthInMeters']
+ time = route['response']['routes'][0]['summary']['travelTimeInSeconds']
+
+ way_costs[i].distance = distance
+ way_costs[i].time = time
+ end
+
+ way_costs
end
- way_costs
- end
-
- def convert_way_costs_for_batch(way_costs)
- way_costs.map do |way_cost|
- "#{way_cost.departure.lat},#{way_cost.departure.lng}" \
- ":#{way_cost.arrival.lat},#{way_cost.arrival.lng}"
+ def convert_way_costs_for_batch(way_costs)
+ way_costs.map do |way_cost|
+ "#{way_cost.departure.lat},#{way_cost.departure.lng}" \
+ ":#{way_cost.arrival.lat},#{way_cost.arrival.lng}"
+ end
end
end
end