diff options
author | Emilio Tagua <miloops@gmail.com> | 2009-07-31 16:21:07 -0300 |
---|---|---|
committer | Emilio Tagua <miloops@gmail.com> | 2009-07-31 16:21:07 -0300 |
commit | 3de59e916d6a3d4eab202cf0c99b1f88905a3b43 (patch) | |
tree | def6d6a808ebe187be1f37f8a739fd786cc11f02 /railties/lib/rails/rack/metal.rb | |
parent | c1cbf02e3170f1004daf4a146cbc41176c2458d3 (diff) | |
parent | 62fd1d3716b4b5fd1d91cdcc77003efe80fc5a7e (diff) | |
download | rails-3de59e916d6a3d4eab202cf0c99b1f88905a3b43.tar.gz rails-3de59e916d6a3d4eab202cf0c99b1f88905a3b43.tar.bz2 rails-3de59e916d6a3d4eab202cf0c99b1f88905a3b43.zip |
Merge commit 'rails/master'
Conflicts:
activerecord/lib/active_record/associations.rb
Diffstat (limited to 'railties/lib/rails/rack/metal.rb')
-rw-r--r-- | railties/lib/rails/rack/metal.rb | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/railties/lib/rails/rack/metal.rb b/railties/lib/rails/rack/metal.rb index b031be29af..6c0732f732 100644 --- a/railties/lib/rails/rack/metal.rb +++ b/railties/lib/rails/rack/metal.rb @@ -11,6 +11,9 @@ module Rails cattr_accessor :metal_paths self.metal_paths = ["#{Rails.root}/app/metal"] cattr_accessor :requested_metals + + cattr_accessor :pass_through_on + self.pass_through_on = 404 def self.metals matcher = /#{Regexp.escape('/app/metal/')}(.*)\.rb\Z/ @@ -36,6 +39,9 @@ module Rails def initialize(app) @app = app + @pass_through_on = {} + [*self.class.pass_through_on].each { |status| @pass_through_on[status] = true } + @metals = ActiveSupport::OrderedHash.new self.class.metals.each { |app| @metals[app] = true } freeze @@ -44,7 +50,7 @@ module Rails def call(env) @metals.keys.each do |app| result = app.call(env) - return result unless result[0].to_i == 404 + return result unless @pass_through_on.include?(result[0].to_i) end @app.call(env) end |