diff options
author | wycats <wycats@gmail.com> | 2010-03-16 23:24:00 -0700 |
---|---|---|
committer | wycats <wycats@gmail.com> | 2010-03-16 23:24:00 -0700 |
commit | cd9ffd11e13ef6e62eba2cbd5c3760ff04132820 (patch) | |
tree | 0fcc940424e1265f03d5df623f324cf7ca310dd3 /activesupport/lib | |
parent | c7388124153e1b1f85965998e5d1c20eed670da8 (diff) | |
download | rails-cd9ffd11e13ef6e62eba2cbd5c3760ff04132820.tar.gz rails-cd9ffd11e13ef6e62eba2cbd5c3760ff04132820.tar.bz2 rails-cd9ffd11e13ef6e62eba2cbd5c3760ff04132820.zip |
Eliminate warnings for AM on 1.8
Diffstat (limited to 'activesupport/lib')
3 files changed, 13 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/core_ext/module.rb b/activesupport/lib/active_support/core_ext/module.rb index bf272e9e73..e74bbde344 100644 --- a/activesupport/lib/active_support/core_ext/module.rb +++ b/activesupport/lib/active_support/core_ext/module.rb @@ -7,4 +7,5 @@ require 'active_support/core_ext/module/attr_internal' require 'active_support/core_ext/module/attr_accessor_with_default' require 'active_support/core_ext/module/delegation' require 'active_support/core_ext/module/synchronization' -require 'active_support/core_ext/module/deprecation'
\ No newline at end of file +require 'active_support/core_ext/module/deprecation' +require 'active_support/core_ext/module/remove_method'
\ No newline at end of file diff --git a/activesupport/lib/active_support/core_ext/module/delegation.rb b/activesupport/lib/active_support/core_ext/module/delegation.rb index df8aefea5a..d78cecc390 100644 --- a/activesupport/lib/active_support/core_ext/module/delegation.rb +++ b/activesupport/lib/active_support/core_ext/module/delegation.rb @@ -34,7 +34,7 @@ class Module # class Foo # CONSTANT_ARRAY = [0,1,2,3] # @@class_array = [4,5,6,7] - # + # # def initialize # @instance_array = [8,9,10,11] # end @@ -120,6 +120,10 @@ class Module end module_eval(<<-EOS, file, line) + if instance_methods(false).map(&:to_s).include?("#{prefix}#{method}") + remove_method("#{prefix}#{method}") + end + def #{prefix}#{method}(*args, &block) # def customer_name(*args, &block) #{to}.__send__(#{method.inspect}, *args, &block) # client.__send__(:name, *args, &block) rescue NoMethodError # rescue NoMethodError diff --git a/activesupport/lib/active_support/core_ext/module/remove_method.rb b/activesupport/lib/active_support/core_ext/module/remove_method.rb new file mode 100644 index 0000000000..2714a46b28 --- /dev/null +++ b/activesupport/lib/active_support/core_ext/module/remove_method.rb @@ -0,0 +1,6 @@ +class Module + def remove_possible_method(method) + remove_method(method) + rescue NameError + end +end
\ No newline at end of file |