Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on May 29, 2010
  1. @wycats

    Removing Metal from Rails 3.

    wycats authored
    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.
Commits on May 15, 2010
  1. @wycats

    Reorganized initializers a bit to enable better hooks for common case…

    wycats authored
    …s without the need for Railtie. Specifically, the following hooks were added:
    
    * before_configuration: this hook is run immediately after the Application class 
      comes into existence, but before the user has added any configuration. This is
      the appropriate place to set configuration for your plugin
    * before_initialize: This is run after all of the user's configuration has completed,
      but before any initializers have begun (in other words, it runs right after
      config/environments/{development,production,test}.rb)
    * after_initialize: This is run after all of the initializers have run. It is an
      appropriate place for forking in a preforking setup
    
    Each of these hooks may be used via ActiveSupport.on_load(name) { }. In all these cases, the context inside the block will be the Application object. This means that for simple cases, you can use these hooks without needing to create a Railtie.
Commits on Mar 30, 2010
  1. @wycats

    Replace the placeholder base_hook API with on_load. To specify some c…

    wycats authored
    …ode that
    
    should run during framework load do:
    
    ActiveSupport.on_load(:action_controller) do
      # Code run in the context of AC::Base
    end
Commits on Mar 26, 2010
  1. @wycats
Commits on Mar 23, 2010
  1. @wycats
Commits on Mar 7, 2010
  1. @wycats

    Make many parts of Rails lazy. In order to facilitate this,

    wycats authored
    add lazy_load_hooks.rb, which allows us to declare code that
    should be run at some later time. For instance, this allows
    us to defer requiring ActiveRecord::Base at boot time purely
    to apply configuration. Instead, we register a hook that should
    apply configuration once ActiveRecord::Base is loaded.
    
    With these changes, brings down total boot time of a
    new app to 300ms in production and 400ms in dev.
    
    TODO: rename base_hook
Something went wrong with that request. Please try again.