Skip to content

Commit 0ea4526

Browse files
authored
Merge pull request #1644 from astoica1986/master
Add place_id as a result attribute from amazon_location_service
2 parents c41b906 + 86a1c5d commit 0ea4526

File tree

5 files changed

+18
-8
lines changed

5 files changed

+18
-8
lines changed

lib/geocoder/lookups/amazon_location_service.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def results(query)
1919
client.search_place_index_for_text(params.merge(text: query.text))
2020
end
2121

22-
resp.results.map(&:place)
22+
resp.results
2323
end
2424

2525
private

lib/geocoder/results/amazon_location_service.rb

+6-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
module Geocoder::Result
44
class AmazonLocationService < Base
55
def initialize(result)
6-
@place = result
6+
@place = result.place
7+
super
78
end
89

910
def coordinates
@@ -53,5 +54,9 @@ def country
5354
def country_code
5455
@place.country
5556
end
57+
58+
def place_id
59+
data.place_id if data.respond_to?(:place_id)
60+
end
5661
end
5762
end

test/fixtures/amazon_location_service_madison_square_garden

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[
2+
"AQABAFMAf5Cj6ApTW9YHMA3COqc3G1_dNHr1qtFl-W36hTyQd_Jw0f-t-7oaBxmbWd9vNecT3rIiH6O6DJ36qPk7seUIuIp8tOOZDoQnuweFUE5fHjvl15sTbn1PREQwp_66LjvkkubhQ3seXgBrCMZT3rt_dBzubg",
23
nil,
34
"USA",
45
MockAWSPlaceGeometry.new([-74.15434739412053, 40.61681535865544]),

test/test_helper.rb

+5-6
Original file line numberDiff line numberDiff line change
@@ -553,11 +553,7 @@ def default_fixture_filename
553553
MockAWSPlace = Struct.new(*%i[
554554
address_number country geometry label municipality neighborhood postal_code region street sub_region
555555
])
556-
class MockAWSPlace
557-
def place
558-
self
559-
end
560-
end
556+
MockAWSResult = Struct.new(:place_id, :place)
561557

562558
class MockAmazonLocationServiceClient
563559
def search_place_index_for_position(params = {}, options = {})
@@ -578,7 +574,10 @@ def fixture
578574
end
579575

580576
def mock_results
581-
MockResults.new([MockAWSPlace.new(*fixture)])
577+
fixture_copy = fixture.dup
578+
place_id = fixture_copy.shift
579+
place = MockAWSPlace.new(*fixture_copy)
580+
MockResults.new([MockAWSResult.new(place_id, place)])
582581
end
583582

584583
def mock_no_results

test/unit/result_test.rb

+5
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def test_forward_geocoding_result_has_required_attributes
1616
set_api_key!(l)
1717
result = Geocoder.search("Madison Square Garden").first
1818
assert_result_has_required_attributes(result)
19+
assert_aws_result_supports_place_id(result) if l == :amazon_location_service
1920
end
2021
end
2122

@@ -56,4 +57,8 @@ def assert_result_has_required_attributes(result)
5657
assert result.country_code.is_a?(String), m % "country_code"
5758
assert_not_nil result.address, m % "address"
5859
end
60+
61+
def assert_aws_result_supports_place_id(result)
62+
assert result.place_id.is_a?(String)
63+
end
5964
end

0 commit comments

Comments
 (0)