aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/hide_actions.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-02-01 11:41:16 +0100
committerJosé Valim <jose.valim@gmail.com>2010-02-01 11:41:16 +0100
commit66615f25cf30835968f5c4798c5befea0d357e89 (patch)
treee364f1340b605b861c688384914518e4964f8d17 /actionpack/lib/action_controller/metal/hide_actions.rb
parent0dece7929cf5b04f008640936fb3ece24ce80daa (diff)
parente5ab4b0d07ade8d89d633ca744c0eafbc53ee921 (diff)
downloadrails-66615f25cf30835968f5c4798c5befea0d357e89.tar.gz
rails-66615f25cf30835968f5c4798c5befea0d357e89.tar.bz2
rails-66615f25cf30835968f5c4798c5befea0d357e89.zip
Merge branch 'master' of gitproxy:rails/rails
Diffstat (limited to 'actionpack/lib/action_controller/metal/hide_actions.rb')
-rw-r--r--actionpack/lib/action_controller/metal/hide_actions.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/metal/hide_actions.rb b/actionpack/lib/action_controller/metal/hide_actions.rb
index cdacdc40a6..e893acffdf 100644
--- a/actionpack/lib/action_controller/metal/hide_actions.rb
+++ b/actionpack/lib/action_controller/metal/hide_actions.rb
@@ -1,3 +1,5 @@
+require 'active_support/core_ext/class/attribute'
+
module ActionController
# ActionController::HideActions adds the ability to prevent public methods on a controller
# to be called as actions.
@@ -5,7 +7,8 @@ module ActionController
extend ActiveSupport::Concern
included do
- extlib_inheritable_accessor(:hidden_actions) { Set.new }
+ class_attribute :hidden_actions
+ self.hidden_actions = Set.new
end
private
@@ -14,7 +17,7 @@ module ActionController
# action name is in the list of hidden actions.
def action_method?(action_name)
self.class.visible_action?(action_name) do
- !hidden_actions.include?(action_name) && super
+ !self.class.hidden_actions.include?(action_name) && super
end
end
@@ -24,7 +27,7 @@ module ActionController
# ==== Parameters
# *args<#to_s>:: A list of actions
def hide_action(*args)
- hidden_actions.merge(args.map! {|a| a.to_s })
+ self.hidden_actions = hidden_actions.dup.merge(args.map(&:to_s))
end
def inherited(klass)