Sha256: efd394c14b6d25a22ef1f23c8175ac74632254d246ef087e732589134ce31ace

Contents?: true

Size: 752 Bytes

Versions: 2

Compression:

Stored size: 752 Bytes

Contents

module Geokit
  module Cached
    module Geocodable

      def self.included(base)
        base.class_eval do
          attr_accessor :provider
        end
      end

      def geocoder
        if cache_locations?
          Geokit::Geocoders::CachedMultiGeocoder
        else
          Geokit::Geocoders::MultiGeocoder
        end
      end

      def geocode_address_cached
        @geocoder.geocode(complete_address)
        self.lat, self.lng, self.provider = @geo.lat, @geo.lng, @geo.provider if @geo.success
      end

      def cache_location!
        cached_location.cache!(:lat => lat, :lng => lng, :provider => provider) if cache_locations?
      end

      def cache_locations?
        self.class::CACHE_LOCATIONS
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
Pr0d1r2-geokit-1.3.2.2 lib/geokit/cached/geocodable.rb
Pr0d1r2-geokit-1.3.2.3 lib/geokit/cached/geocodable.rb