aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@plataformatec.com.br>2013-10-09 04:40:49 -0700
committerJosé Valim <jose.valim@plataformatec.com.br>2013-10-09 04:40:49 -0700
commit47ee9fe8d2c1bdca65d12f04b59ccd4de7305b97 (patch)
treed8c2aec1ee64d7e49aac4a0336c46efecb9ff039
parent2b21bddc9eedb89da887983b261b924e9551ce63 (diff)
parent4de8851289077239ecc91473bdba30f8cf6727bb (diff)
downloadrails-47ee9fe8d2c1bdca65d12f04b59ccd4de7305b97.tar.gz
rails-47ee9fe8d2c1bdca65d12f04b59ccd4de7305b97.tar.bz2
rails-47ee9fe8d2c1bdca65d12f04b59ccd4de7305b97.zip
Merge pull request #12479 from benpickles/unshift-middleware
Expose MiddlewareStack#unshift to environment configuration
-rw-r--r--railties/CHANGELOG.md4
-rw-r--r--railties/lib/rails/configuration.rb4
-rw-r--r--railties/test/application/middleware_test.rb6
3 files changed, 14 insertions, 0 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md
index a4babbe8c3..4e6bf899af 100644
--- a/railties/CHANGELOG.md
+++ b/railties/CHANGELOG.md
@@ -1,3 +1,7 @@
+* Expose MiddlewareStack#unshift to environment configuration.
+
+ *Ben Pickles*
+
* Include `web-console` into newly generated applications' Gemfile.
*Genadi Samokovarov*
diff --git a/railties/lib/rails/configuration.rb b/railties/lib/rails/configuration.rb
index c694513960..f5d7dede66 100644
--- a/railties/lib/rails/configuration.rb
+++ b/railties/lib/rails/configuration.rb
@@ -59,6 +59,10 @@ module Rails
@operations << [__method__, args, block]
end
+ def unshift(*args, &block)
+ @operations << [__method__, args, block]
+ end
+
def merge_into(other) #:nodoc:
@operations.each do |operation, args, block|
other.send(operation, *args, &block)
diff --git a/railties/test/application/middleware_test.rb b/railties/test/application/middleware_test.rb
index 31a35a09bb..20d1d76d78 100644
--- a/railties/test/application/middleware_test.rb
+++ b/railties/test/application/middleware_test.rb
@@ -144,6 +144,12 @@ module ApplicationTests
assert_equal "Rack::Config", middleware.second
end
+ test 'unshift middleware' do
+ add_to_config 'config.middleware.unshift Rack::Config'
+ boot!
+ assert_equal 'Rack::Config', middleware.first
+ end
+
test "Rails.cache does not respond to middleware" do
add_to_config "config.cache_store = :memory_store"
boot!