Sha256: d430f3e666b9ba82476d906a7309d807d9e25f222722bd1d5ef46222abe485a4

Contents?: true

Size: 671 Bytes

Versions: 13

Compression:

Stored size: 671 Bytes

Contents

require 'quick_travel/adapter'
require 'geokit'

module QuickTravel
  class Address < Adapter
    def country_name
      QuickTravel::Country.find(@country_id).name
    end

    # TODO: Remove this method
    # Geokit is a dependency and ONLY used here
    # This function should be done outside this gem
    def geocode
      @_geocode ||= QuickTravel::Cache.cache("geocode_#{self}") {
        Geokit::Geocoders::MultiGeocoder.geocode(to_s)
      }
    rescue Geokit::Geocoders::TooManyQueriesError
      nil # do not cache, do not error
    end

    def to_s
      "#{address_line1} #{address_line2}, #{city}, #{post_code}, #{state}, #{country_name}"
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
quicktravel_client-2.9.0 lib/quick_travel/address.rb
quicktravel_client-2.8.0 lib/quick_travel/address.rb
quicktravel_client-2.7.0 lib/quick_travel/address.rb
quicktravel_client-2.6.0 lib/quick_travel/address.rb
quicktravel_client-2.5.0 lib/quick_travel/address.rb
quicktravel_client-2.4.1 lib/quick_travel/address.rb
quicktravel_client-2.4.0 lib/quick_travel/address.rb
quicktravel_client-2.3.1 lib/quick_travel/address.rb
quicktravel_client-2.3.0 lib/quick_travel/address.rb
quicktravel_client-2.2.2 lib/quick_travel/address.rb
quicktravel_client-2.2.1 lib/quick_travel/address.rb
quicktravel_client-2.2.0 lib/quick_travel/address.rb
quicktravel_client-2.1.0 lib/quick_travel/address.rb