aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/tom_tom.rb16
-rw-r--r--lib/tom_tom/batch.rb15
-rw-r--r--spec/lib/tom_tom/batch_spec.rb4
3 files changed, 20 insertions, 15 deletions
diff --git a/lib/tom_tom.rb b/lib/tom_tom.rb
index 2947961c3..97f914f28 100644
--- a/lib/tom_tom.rb
+++ b/lib/tom_tom.rb
@@ -1,2 +1,18 @@
module TomTom
+ BASE_URL = 'https://api.tomtom.com'
+ API_KEY = Rails.application.secrets.tomtom_api_key
+
+ @connection = Faraday.new(
+ url: BASE_URL,
+ params: {
+ key: API_KEY
+ }
+ ) do |faraday|
+ faraday.use FaradayMiddleware::FollowRedirects, limit: 1
+ faraday.adapter Faraday.default_adapter
+ end
+
+ def self.batch(way_costs)
+ TomTom::Batch.new(@connection).batch(way_costs)
+ end
end
diff --git a/lib/tom_tom/batch.rb b/lib/tom_tom/batch.rb
index 4d590a945..f947cced8 100644
--- a/lib/tom_tom/batch.rb
+++ b/lib/tom_tom/batch.rb
@@ -1,18 +1,7 @@
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
+ def initialize(connection)
+ @connection = connection
end
def batch(way_costs)
diff --git a/spec/lib/tom_tom/batch_spec.rb b/spec/lib/tom_tom/batch_spec.rb
index 5aff970eb..aee1a2f1d 100644
--- a/spec/lib/tom_tom/batch_spec.rb
+++ b/spec/lib/tom_tom/batch_spec.rb
@@ -1,5 +1,5 @@
RSpec.describe TomTom::Batch do
- let(:tomtom) { TomTom::Batch.new }
+ let(:batch) { TomTom::Batch.new(nil) }
describe "#convert_way_costs_for_batch" do
it "turns WayCost points into a collection of colon-separated strings" do
@@ -15,7 +15,7 @@ RSpec.describe TomTom::Batch do
]
expect(
- tomtom.convert_way_costs_for_batch(way_costs)
+ batch.convert_way_costs_for_batch(way_costs)
).to eq([
'2,48:3,46',
'-71,42:-71.5,42.9'