From 23ec46e9c2735668e15cdcff3633c9ac34b45550 Mon Sep 17 00:00:00 2001
From: Egor Bikov <whitewhiteheaven@gmail.com>
Date: Mon, 27 Jan 2014 13:21:02 +0400
Subject: [PATCH] add object kind recognising for yandex result object

---
 lib/geocoder/results/yandex.rb |  4 ++++
 test/result_test.rb            | 10 ++++++++++
 2 files changed, 14 insertions(+)

diff --git a/lib/geocoder/results/yandex.rb b/lib/geocoder/results/yandex.rb
index 5aa892b3..9c3dcd1a 100644
--- a/lib/geocoder/results/yandex.rb
+++ b/lib/geocoder/results/yandex.rb
@@ -59,6 +59,10 @@ module Geocoder::Result
       address_details['Locality']['Premise']['PremiseName']
     end
 
+    def kind
+      @data['GeoObject']['metaDataProperty']['GeocoderMetaData']['kind']
+    end
+
     def precision
       @data['GeoObject']['metaDataProperty']['GeocoderMetaData']['precision']
     end
diff --git a/test/result_test.rb b/test/result_test.rb
index 349be541..cc85be4a 100644
--- a/test/result_test.rb
+++ b/test/result_test.rb
@@ -30,6 +30,16 @@ class ResultTest < Test::Unit::TestCase
     end
   end
 
+  def test_yandex_result_kind
+    assert_nothing_raised do
+      Geocoder.configure(:lookup => :yandex)
+      set_api_key!(:yandex)
+      ["new york", [45.423733, -75.676333], "no city and town"].each do |query|
+        Geocoder.search("new york").first.kind
+      end
+    end
+  end
+
   private # ------------------------------------------------------------------
 
   def assert_result_has_required_attributes(result)
-- 
GitLab