aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
diff options
context:
space:
mode:
authorBogdan Gusiev <agresso@gmail.com>2011-11-10 16:42:27 +0200
committerBogdan Gusiev <agresso@gmail.com>2011-11-10 16:42:27 +0200
commit08cc49b919cfa43a19f55b761dba56bc3673b6b7 (patch)
tree7c6b81a4c0789548eb918636390f2a6f3efa0682 /activesupport/lib
parent80f96ebcf5218cafd2b29e58c7b0c55a07e2fe22 (diff)
downloadrails-08cc49b919cfa43a19f55b761dba56bc3673b6b7.tar.gz
rails-08cc49b919cfa43a19f55b761dba56bc3673b6b7.tar.bz2
rails-08cc49b919cfa43a19f55b761dba56bc3673b6b7.zip
AS::Callbacks.__run_keyed_callback: remove unused cache
Diffstat (limited to 'activesupport/lib')
-rw-r--r--activesupport/lib/active_support/callbacks.rb16
1 files changed, 6 insertions, 10 deletions
diff --git a/activesupport/lib/active_support/callbacks.rb b/activesupport/lib/active_support/callbacks.rb
index 31737d54cb..962299bf7c 100644
--- a/activesupport/lib/active_support/callbacks.rb
+++ b/activesupport/lib/active_support/callbacks.rb
@@ -394,16 +394,12 @@ module ActiveSupport
#
def __run_keyed_callback(key, kind, object, &blk) #:nodoc:
name = "_run__#{self.name.hash.abs}__#{kind}__#{key.hash.abs}__callbacks"
- unless respond_to?(name)
- @_keyed_callbacks ||= {}
- @_keyed_callbacks[name] ||= begin
- str = send("_#{kind}_callbacks").compile(name, object)
- class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
- def #{name}() #{str} end
- protected :#{name}
- RUBY_EVAL
- true
- end
+ unless object.respond_to?(name)
+ str = send("_#{kind}_callbacks").compile(name, object)
+ class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
+ def #{name}() #{str} end
+ protected :#{name}
+ RUBY_EVAL
end
object.send(name, &blk)
end