lib/geocoder/results/yandex.rb in geocoder-1.2.7 vs lib/geocoder/results/yandex.rb in geocoder-1.2.8

- old
+ new

@@ -10,13 +10,13 @@ def address(format = :full) @data['GeoObject']['metaDataProperty']['GeocoderMetaData']['text'] end def city - if state.empty? and address_details.has_key? 'Locality' + if state.empty? and address_details and address_details.has_key? 'Locality' address_details['Locality']['LocalityName'] - elsif sub_state.empty? and address_details.has_key? 'AdministrativeArea' and + elsif sub_state.empty? and address_details and address_details.has_key? 'AdministrativeArea' and address_details['AdministrativeArea'].has_key? 'Locality' address_details['AdministrativeArea']['Locality']['LocalityName'] elsif not sub_state_city.empty? sub_state_city else @@ -31,19 +31,19 @@ def country_code address_details['CountryNameCode'] end def state - if address_details['AdministrativeArea'] + if address_details and address_details['AdministrativeArea'] address_details['AdministrativeArea']['AdministrativeAreaName'] else "" end end def sub_state - if !state.empty? and address_details['AdministrativeArea']['SubAdministrativeArea'] + if !state.empty? and address_details and address_details['AdministrativeArea']['SubAdministrativeArea'] address_details['AdministrativeArea']['SubAdministrativeArea']['SubAdministrativeAreaName'] else "" end end @@ -73,10 +73,10 @@ def address_details @data['GeoObject']['metaDataProperty']['GeocoderMetaData']['AddressDetails']['Country'] end def sub_state_city - if !sub_state.empty? and address_details['AdministrativeArea']['SubAdministrativeArea'].has_key? 'Locality' + if !sub_state.empty? and address_details and address_details['AdministrativeArea']['SubAdministrativeArea'].has_key? 'Locality' address_details['AdministrativeArea']['SubAdministrativeArea']['Locality']['LocalityName'] || "" else "" end end