diff --git a/lib/geocoder/cache.rb b/lib/geocoder/cache.rb index d88241bedf25cff63a773cdb1c592aa68bbb66db..fe2794db48f25805de64ebc681d506c1103670a7 100644 --- a/lib/geocoder/cache.rb +++ b/lib/geocoder/cache.rb @@ -49,7 +49,8 @@ module Geocoder private # ---------------------------------------------------------------- - attr_reader :prefix, :store + def prefix; @prefix; end + def store; @store; end ## # Cache key for a given URL. @@ -63,7 +64,7 @@ module Geocoder # that have non-nil values. # def keys - store.keys.select{ |k| k.match /^#{prefix}/ and interpret(store[k]) } + store.keys.select{ |k| k.match(/^#{prefix}/) and interpret(store[k]) } end ## diff --git a/lib/geocoder/lookups/base.rb b/lib/geocoder/lookups/base.rb index 06ce6d9cc4747d3f782d308e3def3883848d31dc..9d0ae8320f533e8c692b16d12685e978a4ef2000 100644 --- a/lib/geocoder/lookups/base.rb +++ b/lib/geocoder/lookups/base.rb @@ -15,6 +15,9 @@ module Geocoder module Lookup class Base + def initialize + @cache = nil + end ## # Human-readable name of the geocoding API. diff --git a/lib/geocoder/lookups/cloudmade.rb b/lib/geocoder/lookups/cloudmade.rb index a5d36177d2e80e08b89b26093e3239bd4b2bd5f0..afb6993e44c9007371057c3620a4c0155003641e 100644 --- a/lib/geocoder/lookups/cloudmade.rb +++ b/lib/geocoder/lookups/cloudmade.rb @@ -24,7 +24,7 @@ module Geocoder::Lookup end def query_url_params(query) - params = { + { :query => query.sanitized_text, :return_location => true, :return_geometry => false diff --git a/lib/geocoder/lookups/maxmind_local.rb b/lib/geocoder/lookups/maxmind_local.rb index cd0599022ab3126c121beea5e90d6349742767f1..34825beeae55b9fe98684f3ad8e56bfef1585f4d 100644 --- a/lib/geocoder/lookups/maxmind_local.rb +++ b/lib/geocoder/lookups/maxmind_local.rb @@ -8,7 +8,7 @@ module Geocoder::Lookup begin gem = RUBY_PLATFORM == 'java' ? 'jgeoip' : 'geoip' require gem - rescue LoadError => e + rescue LoadError raise 'Could not load geoip dependency. To use MaxMind Local lookup you must add the #{gem} gem to your Gemfile or have it installed in your system.' end super diff --git a/lib/geocoder/lookups/yahoo.rb b/lib/geocoder/lookups/yahoo.rb index beff6c8830f352307e368610d64c4759253fd48f..2b80100c3f5cafd3bc15a87f2a3a18c413a1681c 100644 --- a/lib/geocoder/lookups/yahoo.rb +++ b/lib/geocoder/lookups/yahoo.rb @@ -50,7 +50,7 @@ module Geocoder::Lookup # to warning message. # def parse_raw_data(raw_data) - if raw_data.match /^<\?xml/ + if raw_data.match(/^<\?xml/) if raw_data.include?("Rate Limit Exceeded") raise_error(Geocoder::OverQueryLimitError) || warn("Over API query limit.") elsif raw_data =~ /<yahoo:description>(Please provide valid credentials.*)<\/yahoo:description>/i diff --git a/lib/geocoder/models/base.rb b/lib/geocoder/models/base.rb index 34853a5b7af77a6bb1b692d2d053858b7e7784d1..1f8c6fab58b0522dbe77afd5aab95670c1a65348 100644 --- a/lib/geocoder/models/base.rb +++ b/lib/geocoder/models/base.rb @@ -1,5 +1,3 @@ -require 'geocoder' - module Geocoder ## @@ -29,7 +27,7 @@ module Geocoder private # ---------------------------------------------------------------- def geocoder_init(options) - unless @geocoder_options + unless defined?(@geocoder_options) @geocoder_options = {} require "geocoder/stores/#{geocoder_file_name}" include Geocoder::Store.const_get(geocoder_module_name) @@ -39,4 +37,3 @@ module Geocoder end end end - diff --git a/lib/geocoder/railtie.rb b/lib/geocoder/railtie.rb index e39eb9d95755635d41da0f579475d0d9bad3c746..bd7cfb296ebcb8b61a2befb70826d435411ca2b1 100644 --- a/lib/geocoder/railtie.rb +++ b/lib/geocoder/railtie.rb @@ -1,4 +1,3 @@ -require 'geocoder' require 'geocoder/models/active_record' module Geocoder diff --git a/lib/geocoder/request.rb b/lib/geocoder/request.rb index 06d04c4a6f2825c3942b95410bd593b7e6da4090..3017b479140e3a5eaf7f0ec21f8058077e031385 100644 --- a/lib/geocoder/request.rb +++ b/lib/geocoder/request.rb @@ -1,5 +1,3 @@ -require 'geocoder' - module Geocoder module Request diff --git a/lib/geocoder/results/test.rb b/lib/geocoder/results/test.rb index b0e6bef2fd9c397c415681ae4eb28818a93c0061..17905f07cda7d503e5f71680f3e627d2e4888f30 100644 --- a/lib/geocoder/results/test.rb +++ b/lib/geocoder/results/test.rb @@ -5,7 +5,10 @@ module Geocoder class Test < Base def self.add_result_attribute(attr) - return if respond_to?(attr.to_sym) + begin + remove_method(attr) if method_defined?(attr) + rescue NameError # method defined on superclass + end define_method(attr) do @data[attr.to_s] || @data[attr.to_sym] diff --git a/lib/geocoder/stores/active_record.rb b/lib/geocoder/stores/active_record.rb index 7c48653a1842f946495aa929abb4d6df5b776b6c..38d0abc03f050d0bb08c5ff799e59089c39298f1 100644 --- a/lib/geocoder/stores/active_record.rb +++ b/lib/geocoder/stores/active_record.rb @@ -219,7 +219,7 @@ module Geocoder::Store end def using_sqlite? - connection.adapter_name.match /sqlite/i + connection.adapter_name.match(/sqlite/i) end ##