public
Description: Conditional checks on Rails filters
Clone URL: git://github.com/thoughtbot/when.git
adding block support

git-svn-id: https://svn.thoughtbot.com/plugins/when/trunk@344 
7bbfaf0e-4d1d-0410-9690-a8bb5f8ef2aa
dcroak (author)
Thu Feb 14 16:53:40 -0800 2008
commit  21620772650ee3d94718db5faefd682be99f70d5
tree    34e8f0f7fe289c5b57d4b1c6437cb72a79b699dc
parent  9b3b500969d68df700d48e7beed66737b8c902e3
...
9
10
11
12
 
13
 
 
 
14
15
16
...
9
10
11
 
12
13
14
15
16
17
18
19
0
@@ -9,8 +9,11 @@ module When
0
       
0
         callbacks.each do |callback|
0
           src = <<-END
0
- def #{callback}_with_conditions(*callbacks)
0
+ def #{callback}_with_conditions(*callbacks, &block)
0
               options = callbacks.extract_options!
0
+ if block_given?
0
+ callbacks << block
0
+ end
0
               callbacks.each do |callback|
0
                 #{callback}_without_conditions do |record|
0
                   unless (! options[:if].nil? && ! evaluate_condition(options[:if], record)) ||
...
7
8
9
10
 
11
 
 
 
12
13
14
...
7
8
9
 
10
11
12
13
14
15
16
17
0
@@ -7,8 +7,11 @@ module When
0
 
0
         filters.each do |filter|
0
           src = <<-END
0
- def #{filter}_with_conditions(*filters)
0
+ def #{filter}_with_conditions(*filters, &block)
0
               options = filters.extract_options!
0
+ if block_given?
0
+ options << block
0
+ end
0
               filters.each do |filter|
0
                 #{filter}_without_conditions(options) do |controller|
0
                   unless (! options[:if].nil? && ! ActiveRecord::Base.evaluate_condition(options[:if], controller)) ||

Comments

    No one has commented yet.