lib/geocoder/railtie.rb in geocoder-0.9.11 vs lib/geocoder/railtie.rb in geocoder-0.9.12

- old
+ new

@@ -1,6 +1,7 @@ require 'geocoder' +require 'geocoder/models/active_record' module Geocoder if defined? Rails::Railtie require 'rails' class Railtie < Rails::Railtie @@ -15,66 +16,11 @@ end end class Railtie def self.insert - return unless defined?(::ActiveRecord) - ::ActiveRecord::Base.extend(ModelMethods) - end - end - - ## - # Methods available in the model class before Geocoder is invoked. - # - module ModelMethods - - ## - # Set attribute names and include the Geocoder module. - # - def geocoded_by(address_attr, options = {}, &block) - geocoder_init( - :geocode => true, - :user_address => address_attr, - :latitude => options[:latitude] || :latitude, - :longitude => options[:longitude] || :longitude, - :geocode_block => block - ) - end - - ## - # Set attribute names and include the Geocoder module. - # - def reverse_geocoded_by(latitude_attr, longitude_attr, options = {}, &block) - geocoder_init( - :reverse_geocode => true, - :fetched_address => options[:address] || :address, - :latitude => latitude_attr, - :longitude => longitude_attr, - :reverse_block => block - ) - end - - def geocoder_options - @geocoder_options - end - - - private # ---------------------------------------------------------------- - - def geocoder_init(options) - unless geocoder_initialized? - @geocoder_options = {} - require 'geocoder/orms/active_record' - include Geocoder::Orm::ActiveRecord - end - @geocoder_options.merge! options - end - - def geocoder_initialized? - begin - included_modules.include? Geocoder::Orm::ActiveRecord - rescue NameError - false + if defined?(::ActiveRecord) + ::ActiveRecord::Base.extend(Model::ActiveRecord) end end end end