aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/metal/conditional_get.rb9
-rw-r--r--actionpack/lib/action_controller/metal/instrumentation.rb1
2 files changed, 8 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/metal/conditional_get.rb b/actionpack/lib/action_controller/metal/conditional_get.rb
index 1445b3e383..7521deaaca 100644
--- a/actionpack/lib/action_controller/metal/conditional_get.rb
+++ b/actionpack/lib/action_controller/metal/conditional_get.rb
@@ -1,3 +1,5 @@
+require 'active_support/core_ext/class/attribute'
+
module ActionController
module ConditionalGet
extend ActiveSupport::Concern
@@ -5,7 +7,10 @@ module ActionController
include RackDelegation
include Head
- included { cattr_accessor(:etaggers) { Array.new } }
+ included do
+ class_attribute :etaggers
+ self.etaggers = []
+ end
module ClassMethods
# Allows you to consider additional controller-wide information when generating an etag.
@@ -161,7 +166,7 @@ module ActionController
private
def combine_etags(etag)
- [ etag, *etaggers.map { |etagger| instance_exec &etagger }.compact ]
+ [ etag, *etaggers.map { |etagger| instance_exec(&etagger) }.compact ]
end
end
end
diff --git a/actionpack/lib/action_controller/metal/instrumentation.rb b/actionpack/lib/action_controller/metal/instrumentation.rb
index 640ebf5f00..ca4ae532ca 100644
--- a/actionpack/lib/action_controller/metal/instrumentation.rb
+++ b/actionpack/lib/action_controller/metal/instrumentation.rb
@@ -11,6 +11,7 @@ module ActionController
extend ActiveSupport::Concern
include AbstractController::Logger
+ include ActionController::RackDelegation
attr_internal :view_runtime