diff --git a/lib/geocoder/lookup.rb b/lib/geocoder/lookup.rb index 7687b2ef0366430f3851c1505e2f190d02cd72b1..d96dedc6091f226bea041b19adbe3c876ff39e56 100644 --- a/lib/geocoder/lookup.rb +++ b/lib/geocoder/lookup.rb @@ -1,31 +1,32 @@ module Geocoder module Lookup + extend self ## # Array of valid Lookup service names. # - def self.all_services + def all_services street_services + ip_services end ## # Array of valid Lookup service names, excluding :test. # - def self.all_services_except_test + def all_services_except_test all_services - [:test] end ## # All street address lookup services, default first. # - def self.street_services + def street_services [:google, :google_premier, :yahoo, :bing, :geocoder_ca, :yandex, :nominatim, :mapquest, :test] end ## # All IP address lookup services, default first. # - def self.ip_services + def ip_services [:freegeoip] end @@ -34,7 +35,7 @@ module Geocoder # Use this instead of Geocoder::Lookup::X.new to get an # already-configured Lookup object. # - def self.get(name) + def get(name) @services = {} unless defined?(@services) @services[name] = spawn(name) unless @services.include?(name) @services[name] @@ -46,7 +47,7 @@ module Geocoder ## # Spawn a Lookup of the given name. # - def self.spawn(name) + def spawn(name) if all_services.include?(name) name = name.to_s Geocoder::Lookup.const_get(classify_name(name)).new @@ -57,7 +58,7 @@ module Geocoder end end - def self.classify_name(filename) + def classify_name(filename) filename.split("_").map{ |i| i[0...1].upcase + i[1..-1] }.join end end