Skip to content

Instantly share code, notes, and snippets.

@kyamaguchi
Created October 31, 2011 17:16
Show Gist options
  • Save kyamaguchi/1328048 to your computer and use it in GitHub Desktop.
Save kyamaguchi/1328048 to your computer and use it in GitHub Desktop.
Bundler for Rails 2.3.X
diff --git a/config/boot.rb b/config/boot.rb
index dd5e3b6..9ee835a 100644
--- a/config/boot.rb
+++ b/config/boot.rb
@@ -106,5 +106,19 @@ module Rails
end
end
+class Rails::Boot
+ def run
+ load_initializer
+
+ Rails::Initializer.class_eval do
+ def load_gems
+ @bundler_loaded ||= Bundler.require :default, Rails.env
+ end
+ end
+
+ Rails::Initializer.run(:set_load_path)
+ end
+end
+
# All that for this:
Rails.boot!
diff --git a/config/preinitializer.rb b/config/preinitializer.rb
new file mode 100644
index 0000000..3ad0241
--- /dev/null
+++ b/config/preinitializer.rb
@@ -0,0 +1,20 @@
+begin
+ require "rubygems"
+ require "bundler"
+rescue LoadError
+ raise "Could not load the bundler gem. Install it with `gem install bundler`."
+end
+
+if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.24")
+ raise RuntimeError, "Your bundler version is too old for Rails 2.3." +
+ "Run `gem install bundler` to upgrade."
+end
+
+begin
+ # Set up load paths for all bundled gems
+ ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)
+ Bundler.setup
+rescue Bundler::GemNotFound
+ raise RuntimeError, "Bundler couldn't find some gems." +
+ "Did you run `bundle install`?"
+end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment