This project is archived and is in readonly mode.

Changeset [45e60283e733a535d68d499aa20e095c905f43b0] by wycats

May 29th, 2010 @ 07:08 PM

Removing Metal from Rails 3.

If you have existing Metals, you have a few options:
* if your metal behaves like a middleware, add it to the middleware stack via config.middleware.use. You can use methods on the middleware stack to control exactly where it should go * if it behaves like a Rack endpoint, you can link to it in the router. This will result in more optimal routing time, and allows you to remove code in your endpoint that matches specific URLs in favor of the more powerful handling in the router itself.

For the future, you can use ActionController::Metal to get
a very fast controller with the ability to opt-in to specific
controller features without paying the penalty of the full
controller stack.

Since Rails 3 is closer to Rack, the Metal abstraction is
no longer needed.
http://github.com/rails/rails/commit/45e60283e733a535d68d499aa20e09...

Committed by wycats

  • R actionpack/lib/action_dispatch/middleware/cascade.rb
  • R railties/lib/rails/application/metal_loader.rb
  • R railties/lib/rails/generators/rails/metal/USAGE
  • R railties/lib/rails/generators/rails/metal/metal_generator.rb
  • R railties/lib/rails/generators/rails/metal/templates/metal.rb
  • R railties/test/application/metal_test.rb
  • R railties/test/generators/metal_generator_test.rb
  • M actionpack/lib/action_dispatch.rb
  • M railties/guides/source/configuring.textile
  • M railties/guides/source/initialization.textile
  • M railties/guides/source/rails_on_rack.textile
  • M railties/lib/rails/application.rb
  • M railties/lib/rails/application/configuration.rb
  • M railties/lib/rails/engine.rb
  • M railties/lib/rails/engine/configuration.rb
  • M railties/lib/rails/generators/base.rb
  • M railties/lib/rails/tasks/framework.rake
  • M railties/test/application/middleware_test.rb
  • M railties/test/application/paths_test.rb
  • M railties/test/railties/shared_tests.rb

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2 style="font-size: 14px">Tickets have moved to Github</h2>

The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>