diff --git a/lib/geocoder.rb b/lib/geocoder.rb index 4e648617223cb923a8fc1dfe122262e449a13a22..edcd8ad3b6c6436f1c72b3c67d898bad55946c6e 100644 --- a/lib/geocoder.rb +++ b/lib/geocoder.rb @@ -9,6 +9,17 @@ require "geocoder/models/mongo_mapper" module Geocoder extend self + # This method can be used to change some functional aspects, like, + # the geocoding service provider, or the units of calculations. + # Please see {include:Configuration} + def configure(&block) + if block_given? + module_eval(&block) + else + Configuration.instance + end + end + ## # Search for information about an address or a set of coordinates. # @@ -74,6 +85,10 @@ module Geocoder private # ----------------------------------------------------------------- + def config # :nodoc + Configuration.instance + end + ## # Get a Lookup object (which communicates with the remote geocoding API). # Takes a search query and returns an IP or street address Lookup @@ -139,3 +154,4 @@ if defined?(Rails) require "geocoder/railtie" Geocoder::Railtie.insert end + diff --git a/lib/geocoder/configuration.rb b/lib/geocoder/configuration.rb index 7d1e7cc8c57e604fbb1ef46f9ad2410aa95a5a58..108ba674ec00d6a67e2b3ed8375d126fc8875c55 100644 --- a/lib/geocoder/configuration.rb +++ b/lib/geocoder/configuration.rb @@ -9,9 +9,9 @@ module Geocoder # == Geocoder Configuration # # The configuration of Geocoder can be done in to ways: - # - using +Geocoder#configure+ method: + # @example Using +Geocoder#configure+ method: # - # Geocoder.configure do |config| + # Geocoder.configure do # config.timeout = 3 # geocoding service timeout (secs) # config.lookup = :google # name of geocoding service (symbol) # config.language = :en # ISO-639 language code @@ -32,7 +32,7 @@ module Geocoder # @method = :spherical # :spherical or :linear # end # - # - or using +Geocoder::Configuration+ class directly, like in: + # @example Using +Geocoder::Configuration+ class directly, like in: # # Geocoder::Configuration.language = 'pt-BR' # diff --git a/test/configuration_test.rb b/test/configuration_test.rb index ae98c9b131d4f235219df65b799ea388948e3877..2812fe432caf2ef84a09c888ce4d43019bffebc1 100644 --- a/test/configuration_test.rb +++ b/test/configuration_test.rb @@ -33,7 +33,7 @@ class ConfigurationTest < Test::Unit::TestCase # --- Geocoder#configure method configuration --- def test_geocoder_configuration - Geocoder.configure { |config| config.units = :mi } + Geocoder.configure { config.units = :mi } assert_equal Geocoder::Configuration.units, :mi distance = Geocoder::Calculations.distance_between([0,0], [0,1]).round