Sha256: 02dec6ae8f838198180e6461fd21568c8bf2392f030fb85e0e5b80bd2a03ca5f
Contents?: true
Size: 1.56 KB
Versions: 25
Compression:
Stored size: 1.56 KB
Contents
module Geocoder module Result class Base # data (hash) fetched from geocoding service attr_accessor :data # true if result came from cache, false if from request to geocoding # service; nil if cache is not configured attr_accessor :cache_hit ## # Takes a hash of data from a parsed geocoding service response. # def initialize(data) @data = data @cache_hit = nil end ## # A string in the given format. # # This default implementation dumbly follows the United States address # format and will return incorrect results for most countries. Some APIs # return properly formatted addresses and those should be funneled # through this method. # def address(format = :full) if state_code.to_s != "" s = ", #{state_code}" elsif state.to_s != "" s = ", #{state}" else s = "" end "#{city}#{s} #{postal_code}, #{country}".sub(/^[ ,]*/, '') end ## # A two-element array: [lat, lon]. # def coordinates [@data['latitude'].to_f, @data['longitude'].to_f] end def latitude coordinates[0] end def longitude coordinates[1] end def state fail end def province state end def state_code fail end def province_code state_code end def country fail end def country_code fail end end end end
Version data entries
25 entries across 25 versions & 2 rubygems