require "geocoder/configuration" require "geocoder/calculations" require "geocoder/active_record" require "geocoder/railtie" module Geocoder extend self ## # Alias for Geocoder.lookup.search. # def search(*args) lookup.search(*args) end ## # Get the lookup object (which communicates with the remote geocoding API). # def lookup unless defined?(@lookup) set_lookup Geocoder::Configuration.lookup end @lookup end def set_lookup(value) if value == :yahoo require "geocoder/lookups/yahoo" @lookup = Geocoder::Lookup::Yahoo.new else require "geocoder/lookups/google" @lookup = Geocoder::Lookup::Google.new end end # exception classes class Error < StandardError; end class ConfigurationError < Error; end end Geocoder::Railtie.insert