Skip to content
Snippets Groups Projects
geocoder.rb 624 B
Newer Older
require "geocoder/calculations"
require "geocoder/lookup"
require "geocoder/active_record"

##
# Add geocoded_by method to ActiveRecord::Base so Geocoder is accessible.
#
ActiveRecord::Base.class_eval do
  ##
  # Set attribute names and include the Geocoder module.
  #
Alex Reisner's avatar
Alex Reisner committed
  def self.geocoded_by(address_attr, options = {})
    class_inheritable_reader :geocoder_options
    write_inheritable_attribute :geocoder_options, {
Alex Reisner's avatar
Alex Reisner committed
      :address_attr => address_attr,
      :latitude     => options[:latitude]  || :latitude,
      :longitude    => options[:longitude] || :longitude
    include Geocoder::ActiveRecord