aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/abstract_controller/rendering.rb
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2013-09-02 14:29:36 -0700
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-09-02 14:29:36 -0700
commite3b695331d95022f9b41faf131f8e98cdf4f6985 (patch)
treee21ed9bc1230900d401e1412ae86f24625942ea0 /actionpack/lib/abstract_controller/rendering.rb
parent90ea6f928ce0f0efef3109045a74469c4a3e3f99 (diff)
parent544d0fad3d76bd3077225c6afcb562197f240cb0 (diff)
downloadrails-e3b695331d95022f9b41faf131f8e98cdf4f6985.tar.gz
rails-e3b695331d95022f9b41faf131f8e98cdf4f6985.tar.bz2
rails-e3b695331d95022f9b41faf131f8e98cdf4f6985.zip
Merge pull request #12110 from strzalek/revert-default-protected-instance-vars
Revert default protected instance vars
Diffstat (limited to 'actionpack/lib/abstract_controller/rendering.rb')
-rw-r--r--actionpack/lib/abstract_controller/rendering.rb17
1 files changed, 12 insertions, 5 deletions
diff --git a/actionpack/lib/abstract_controller/rendering.rb b/actionpack/lib/abstract_controller/rendering.rb
index 41f19fba78..a3c45bacb7 100644
--- a/actionpack/lib/abstract_controller/rendering.rb
+++ b/actionpack/lib/abstract_controller/rendering.rb
@@ -13,8 +13,9 @@ module AbstractController
module Rendering
extend ActiveSupport::Concern
- def self.default_protected_instance_vars
- super.concat [:@_action_name, :@_response_body, :@_formats, :@_prefixes, :@_config]
+ included do
+ class_attribute :protected_instance_variables
+ self.protected_instance_variables = []
end
# Raw rendering of a template to a string.
@@ -47,14 +48,20 @@ module AbstractController
def rendered_format
end
+ DEFAULT_PROTECTED_INSTANCE_VARIABLES = %w(
+ @_action_name @_response_body @_formats @_prefixes @_config
+ @_view_context_class @_view_renderer @_lookup_context
+ )
+
# This method should return a hash with assigns.
# You can overwrite this configuration per controller.
# :api: public
def view_assigns
hash = {}
- (instance_variables - self.class.default_protected_instance_vars).each do |name|
- hash[name[1..-1]] = instance_variable_get(name)
- end
+ variables = instance_variables
+ variables -= protected_instance_variables
+ variables -= DEFAULT_PROTECTED_INSTANCE_VARIABLES
+ variables.each { |name| hash[name[1..-1]] = instance_variable_get(name) }
hash
end