From 7832b7eae23111f094af1bd333118745609d7e5c Mon Sep 17 00:00:00 2001 From: Victor Costa Date: Thu, 23 Jan 2014 16:21:39 -0300 Subject: [PATCH] rails3: fix creation of plugins filter --- app/controllers/application_controller.rb | 6 +++--- test/functional/application_controller_test.rb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 53b238a..ae039b4 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -138,11 +138,11 @@ class ApplicationController < ActionController::Base plugins.each do |plugin| filters = plugin.send(self.class.name.underscore + '_filters') filters = [filters] if !filters.kind_of?(Array) - controller_filters = self.class.filter_chain.map {|c| c.method } + controller_filters = self.class._process_action_callbacks.map {|c| c.filter.to_sym } filters.each do |plugin_filter| - filter_method = plugin.class.name.underscore.gsub('/','_') + '_' + plugin_filter[:method_name] + filter_method = (plugin.class.name.underscore.gsub('/','_') + '_' + plugin_filter[:method_name]).to_sym unless controller_filters.include?(filter_method) - self.class.send(plugin_filter[:type], filter_method, (plugin_filter[:options] || {})) + self.class.send(plugin_filter[:type], filter_method.to_sym, (plugin_filter[:options] || {})) self.class.send(:define_method, filter_method) do instance_eval(&plugin_filter[:block]) if environment.plugin_enabled?(plugin.class) end diff --git a/test/functional/application_controller_test.rb b/test/functional/application_controller_test.rb index 3c89c67..2e261b3 100644 --- a/test/functional/application_controller_test.rb +++ b/test/functional/application_controller_test.rb @@ -506,7 +506,7 @@ class ApplicationControllerTest < ActionController::TestCase get :index get :index - assert_equal 1, @controller.class.filter_chain.select{|c| c.method == 'application_controller_test_filter_plugin_filter_plugin'}.count + assert_equal 1, @controller.class._process_action_callbacks.select{|c| c.filter == :application_controller_test_filter_plugin_filter_plugin}.count end should 'do not call plugin filter block on a environment that this plugin is not enabled' do -- libgit2 0.21.2