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