Changeset 9080
- Timestamp:
- 03/23/08 01:48:17 (6 months ago)
- Files:
-
- trunk/actionpack/CHANGELOG (modified) (1 diff)
- trunk/actionpack/lib/action_controller/filters.rb (modified) (1 diff)
- trunk/actionpack/test/controller/filters_test.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/actionpack/CHANGELOG
r9065 r9080 1 1 *SVN* 2 3 * Fix regression from filter refactoring where re-adding a skipped filter resulted in it being called twice. [rick] 2 4 3 5 * Refactor filters to use Active Support callbacks. #11235 [Josh Peek] trunk/actionpack/lib/action_controller/filters.rb
r9055 r9080 265 265 def skip_filter_in_chain(*filters, &test) 266 266 filters, conditions = extract_options(filters) 267 filters.each do |filter| 268 if callback = find_callback(filter) then delete(callback) end 269 end if conditions.empty? 267 270 update_filter_in_chain(filters, :skip => conditions, &test) 268 271 end trunk/actionpack/test/controller/filters_test.rb
r9055 r9080 159 159 end 160 160 161 class SkippingAndLimitedController < TestController 162 skip_before_filter :ensure_login 163 before_filter :ensure_login, :only => :index 164 165 def index 166 render :text => 'ok' 167 end 168 169 def public 170 end 171 end 172 173 class SkippingAndReorderingController < TestController 174 skip_before_filter :ensure_login 175 before_filter :find_record 176 before_filter :ensure_login 177 178 private 179 def find_record 180 @ran_filter ||= [] 181 @ran_filter << "find_record" 182 end 183 end 184 161 185 class ConditionalSkippingController < TestController 162 186 skip_before_filter :ensure_login, :only => [ :login ] … … 565 589 response = test_process(PrependingBeforeAndAfterController) 566 590 assert_equal %w( before_all between_before_all_and_after_all after_all ), response.template.assigns["ran_filter"] 591 end 592 593 def test_skipping_and_limiting_controller 594 assert_equal %w( ensure_login ), test_process(SkippingAndLimitedController, "index").template.assigns["ran_filter"] 595 assert_nil test_process(SkippingAndLimitedController, "public").template.assigns["ran_filter"] 596 end 597 598 def test_skipping_and_reordering_controller 599 assert_equal %w( find_record ensure_login ), test_process(SkippingAndReorderingController, "index").template.assigns["ran_filter"] 567 600 end 568 601