From 86b38251966451ab6dfe447494b58daaf3cfa57e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emil=20S=C3=A5gfors?= <emil.sagfors@iki.fi>
Date: Tue, 16 Feb 2016 00:55:07 +0200
Subject: [PATCH] Add viewport method for Bing

---
 lib/geocoder/results/bing.rb   |  4 ++++
 test/unit/lookups/bing_test.rb | 10 ++++++++++
 2 files changed, 14 insertions(+)

diff --git a/lib/geocoder/results/bing.rb b/lib/geocoder/results/bing.rb
index 215e4fb1..77b5eee3 100644
--- a/lib/geocoder/results/bing.rb
+++ b/lib/geocoder/results/bing.rb
@@ -35,6 +35,10 @@ module Geocoder::Result
       @data['address']
     end
 
+    def viewport
+      @data['bbox']
+    end
+
     def self.response_attributes
       %w[bbox name confidence entityType]
     end
diff --git a/test/unit/lookups/bing_test.rb b/test/unit/lookups/bing_test.rb
index 54748831..db9457b9 100644
--- a/test/unit/lookups/bing_test.rb
+++ b/test/unit/lookups/bing_test.rb
@@ -21,6 +21,16 @@ class BingTest < GeocoderTestCase
     assert_equal "New York", result.city
   end
 
+  def test_result_viewport
+    result = Geocoder.search("Madison Square Garden, New York, NY").first
+    assert_equal [
+      40.744944289326668,
+      -74.002353921532631,
+      40.755675807595253,
+      -73.983625397086143
+    ], result.viewport
+  end
+
   def test_no_results
     results = Geocoder.search("no results")
     assert_equal 0, results.length
-- 
GitLab