require'geocoder/results/base'moduleGeocoder::ResultclassIpstack<Basedefaddress(format=:full)s=region_code.empty??"":", #{region_code}""#{city}#{s}#{zip}, #{country_name}".sub(/^[ ,]*/,"")enddefstate@data['region_name']enddefstate_code@data['region_code']enddefcountry@data['country_name']enddefpostal_code@data['zip']||@data['zipcode']||@data['zip_code']enddefself.response_attributes[['ip',''],['hostname',''],['continent_code',''],['continent_name',''],['country_code',''],['country_name',''],['region_code',''],['region_name',''],['city',''],['zip',''],['latitude',0],['longitude',0],['location',{}],['time_zone',{}],['currency',{}],['connection',{}],['security',{}],]endresponse_attributes.eachdo|attr,default|define_methodattrdo@data[attr]||defaultendenddefmetro_codeGeocoder.log(:warn,"Ipstack does not implement `metro_code` in api results. Please discontinue use.")0# no longer implemented by ipstackendendend