From f6db31ec16e42ee7713029f7120f0b011d1ddc6c Mon Sep 17 00:00:00 2001 From: Jon Leighton Date: Wed, 21 Mar 2012 20:30:48 +0000 Subject: Remove valid_scope_name? check - use ruby scope is syntactic sugar for defining a class method. Ruby allows redefining methods but emits a warning when run with -w. So let's not implement our own logic for this. Users should run with -w if they want to be warned about redefined methods. --- activerecord/lib/active_record/scoping/named.rb | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/scoping/named.rb b/activerecord/lib/active_record/scoping/named.rb index c7c3ee2b06..20c8e4b0f7 100644 --- a/activerecord/lib/active_record/scoping/named.rb +++ b/activerecord/lib/active_record/scoping/named.rb @@ -172,10 +172,9 @@ module ActiveRecord # Article.featured.titles def scope(name, scope_options = {}) - valid_scope_name?(name) extension = Module.new(&Proc.new) if block_given? - singleton_class.send(:redefine_method, name) do |*args| + singleton_class.send(:define_method, name) do |*args| options = scope_options.respond_to?(:call) ? unscoped { scope_options.call(*args) } : scope_options options = scoped.apply_finder_options(options) if options.is_a?(Hash) @@ -184,15 +183,6 @@ module ActiveRecord extension ? relation.extending(extension) : relation end end - - protected - - def valid_scope_name?(name) - if respond_to?(name, true) - logger.warn "Creating scope :#{name}. " \ - "Overwriting existing method #{self.name}.#{name}." - end - end end end end -- cgit v1.2.3