Bundler has truly been a revolution in how dependencies for Ruby projects are managed. The Bundler site provides a guide for using it with Rails 2.3 and Rails 3, but not Rails 1.2.

This won’t matter for most people, but if you have clients on older Rails versions, it can be nice to manage dependencies in the same manner across all installations.

So here’s how you do it:

Step 1: Create a new Rails 2.x app, and copy it’s config/boot.rb across to your 1.2 app.

Step 2: Make the VendorBoot#load_initializer() method look like the following:

class VendorBoot < Boot
  def load_initializer
    require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"

    # Commented out as not in Rails 1.2.x.
    # Rails::Initializer.run(:install_gem_spec_stubs)
    # Rails::GemDependency.add_frozen_gem_path
  end
end

Step 3: Follow the Rails 2.3 Bundler guide for the rest.

I’ve only tested this setup with Webrick, Mongrel and Passenger, using Rails 1.2.6, so your mileage may vary.