public
Description: Ruby on Rails
Homepage: http://rubyonrails.org
Clone URL: git://github.com/rails/rails.git
Search Repo:
Slight optimization to CallbackChain#union and delete.
josh (author)
Fri Apr 18 12:44:55 -0700 2008
commit  a4c15303cbc96fffd66c68abdeebe73d8883e5ab
tree    a4f340a421706bdf5f001700fb6cfed850d7ad0c
parent  986aec5dbbdfb578945e706cbe6a54c4f06640e5
...
97
98
99
100
101
102
 
 
 
 
103
104
105
106
107
108
109
110
111
...
115
116
117
118
 
119
120
121
...
97
98
99
 
 
 
100
101
102
103
104
105
106
107
 
 
108
109
110
...
114
115
116
 
117
118
119
120
0
@@ -97,15 +97,14 @@
0
       end
0
 
0
       def |(chain)
0
- if chain.is_a?(Callback)
0
- if found_callback = find(chain)
0
- index = index(found_callback)
0
+ if chain.is_a?(CallbackChain)
0
+ chain.each { |callback| self | callback }
0
+ elsif chain.is_a?(Callback)
0
+ if index = index(chain)
0
             self[index] = chain
0
           else
0
             self << chain
0
           end
0
- else
0
- chain.each { |callback| self | callback }
0
         end
0
         self
0
       end
0
@@ -115,7 +114,7 @@
0
       end
0
 
0
       def delete(callback)
0
- super(find(callback))
0
+ super(callback.is_a?(Callback) ? callback : find(callback))
0
       end
0
 
0
       private

Comments

    No one has commented yet.