From fc3a39b599fbbed86a153b9742258db020eefa3c Mon Sep 17 00:00:00 2001
From: Joshua Peek <josh@joshpeek.com>
Date: Wed, 31 Mar 2010 14:11:51 -0500
Subject: Add --skip-bundler option to rails application generator

NOTE: This does not fix the bundler activation issue. The "bundler"
gem will still be installed and activated when you install rails.
---
 railties/lib/rails/generators/rails/app/app_generator.rb             | 5 ++++-
 .../lib/rails/generators/rails/app/templates/config/application.rb   | 2 ++
 railties/lib/rails/generators/rails/app/templates/config/boot.rb     | 4 ++++
 3 files changed, 10 insertions(+), 1 deletion(-)

(limited to 'railties/lib/rails')

diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb
index fccae9190a..0af7f2aa56 100644
--- a/railties/lib/rails/generators/rails/app/app_generator.rb
+++ b/railties/lib/rails/generators/rails/app/app_generator.rb
@@ -31,6 +31,9 @@ module Rails::Generators
     class_option :edge, :type => :boolean, :default => false,
                         :desc => "Setup the application with Gemfile pointing to Rails repository"
 
+    class_option :skip_bundler, :type => :boolean, :default => false,
+                                     :desc => "Skip Bundler files"
+
     class_option :skip_activerecord, :type => :boolean, :aliases => "-O", :default => false,
                                      :desc => "Skip ActiveRecord files"
 
@@ -71,7 +74,7 @@ module Rails::Generators
       copy_file "gitignore", ".gitignore" unless options[:skip_git]
       template "Rakefile"
       template "config.ru"
-      template "Gemfile"
+      template "Gemfile" unless options[:skip_bundler]
     end
 
     def create_app_files
diff --git a/railties/lib/rails/generators/rails/app/templates/config/application.rb b/railties/lib/rails/generators/rails/app/templates/config/application.rb
index dc20ffb2fa..a355aac7a6 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/application.rb
+++ b/railties/lib/rails/generators/rails/app/templates/config/application.rb
@@ -11,9 +11,11 @@ require "active_resource/railtie"
 require "rails/test_unit/railtie"
 <% end -%>
 
+<% unless options[:skip_bundler] -%>
 # Auto-require default libraries and those for the current Rails environment.
 Bundler.require :default, Rails.env
 
+<% end -%>
 module <%= app_const_base %>
   class Application < Rails::Application
     # Settings in config/environments/* take precedence over those specified here.
diff --git a/railties/lib/rails/generators/rails/app/templates/config/boot.rb b/railties/lib/rails/generators/rails/app/templates/config/boot.rb
index 3cb561d41f..0c7ae74b0a 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/boot.rb
+++ b/railties/lib/rails/generators/rails/app/templates/config/boot.rb
@@ -1,3 +1,6 @@
+<% if options[:skip_bundler] -%>
+require 'rubygems'
+<% else -%>
 # Use Bundler (preferred)
 begin
   require File.expand_path('../../.bundle/environment', __FILE__)
@@ -6,3 +9,4 @@ rescue LoadError
   require 'bundler'
   Bundler.setup
 end
+<% end -%>
-- 
cgit v1.2.3


From b3980af8d114b68a5e859ccea7c286f94189f713 Mon Sep 17 00:00:00 2001
From: Jeremy Kemper <jeremy@bitsweat.net>
Date: Wed, 31 Mar 2010 12:51:59 -0700
Subject: To skip bundler, `rm Gemfile`. Create a Gemfile to use it again.

---
 railties/lib/rails/generators/rails/app/app_generator.rb |  6 +++---
 .../generators/rails/app/templates/config/application.rb |  7 +++----
 .../rails/generators/rails/app/templates/config/boot.rb  | 16 +++++++++-------
 3 files changed, 15 insertions(+), 14 deletions(-)

(limited to 'railties/lib/rails')

diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb
index 0af7f2aa56..fbad3c9ef1 100644
--- a/railties/lib/rails/generators/rails/app/app_generator.rb
+++ b/railties/lib/rails/generators/rails/app/app_generator.rb
@@ -31,8 +31,8 @@ module Rails::Generators
     class_option :edge, :type => :boolean, :default => false,
                         :desc => "Setup the application with Gemfile pointing to Rails repository"
 
-    class_option :skip_bundler, :type => :boolean, :default => false,
-                                     :desc => "Skip Bundler files"
+    class_option :skip_gemfile, :type => :boolean, :default => false,
+                                     :desc => "Don't create a Gemfile"
 
     class_option :skip_activerecord, :type => :boolean, :aliases => "-O", :default => false,
                                      :desc => "Skip ActiveRecord files"
@@ -74,7 +74,7 @@ module Rails::Generators
       copy_file "gitignore", ".gitignore" unless options[:skip_git]
       template "Rakefile"
       template "config.ru"
-      template "Gemfile" unless options[:skip_bundler]
+      template "Gemfile" unless options[:skip_gemfile]
     end
 
     def create_app_files
diff --git a/railties/lib/rails/generators/rails/app/templates/config/application.rb b/railties/lib/rails/generators/rails/app/templates/config/application.rb
index a355aac7a6..bd4fedcdec 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/application.rb
+++ b/railties/lib/rails/generators/rails/app/templates/config/application.rb
@@ -11,11 +11,10 @@ require "active_resource/railtie"
 require "rails/test_unit/railtie"
 <% end -%>
 
-<% unless options[:skip_bundler] -%>
-# Auto-require default libraries and those for the current Rails environment.
-Bundler.require :default, Rails.env
+# If you have a Gemfile, require the gems listed there, including any gems
+# you've limited to :test, :development, or :production.
+Bundler.require(:default, Rails.env) if defined?(Bundler)
 
-<% end -%>
 module <%= app_const_base %>
   class Application < Rails::Application
     # Settings in config/environments/* take precedence over those specified here.
diff --git a/railties/lib/rails/generators/rails/app/templates/config/boot.rb b/railties/lib/rails/generators/rails/app/templates/config/boot.rb
index 0c7ae74b0a..809fef02c1 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/boot.rb
+++ b/railties/lib/rails/generators/rails/app/templates/config/boot.rb
@@ -1,12 +1,14 @@
-<% if options[:skip_bundler] -%>
-require 'rubygems'
-<% else -%>
-# Use Bundler (preferred)
+# Use locked gems if present.
 begin
   require File.expand_path('../../.bundle/environment', __FILE__)
+
 rescue LoadError
+  # Otherwise, use RubyGems.
   require 'rubygems'
-  require 'bundler'
-  Bundler.setup
+
+  # And set up the gems listed in the Gemfile.
+  if File.exist?(File.expand_path('../../Gemfile'))
+    require 'bundler'
+    Bundler.setup
+  end
 end
-<% end -%>
-- 
cgit v1.2.3


From 8dfa27669bf75f616ecaaccb61b99ec177b3b854 Mon Sep 17 00:00:00 2001
From: Jeremy Kemper <jeremy@bitsweat.net>
Date: Wed, 31 Mar 2010 17:27:39 -0700
Subject: Missed __FILE__

---
 railties/lib/rails/generators/rails/app/templates/config/boot.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'railties/lib/rails')

diff --git a/railties/lib/rails/generators/rails/app/templates/config/boot.rb b/railties/lib/rails/generators/rails/app/templates/config/boot.rb
index 809fef02c1..3971a07012 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/boot.rb
+++ b/railties/lib/rails/generators/rails/app/templates/config/boot.rb
@@ -7,7 +7,7 @@ rescue LoadError
   require 'rubygems'
 
   # And set up the gems listed in the Gemfile.
-  if File.exist?(File.expand_path('../../Gemfile'))
+  if File.exist?(File.expand_path('../../Gemfile', __FILE__))
     require 'bundler'
     Bundler.setup
   end
-- 
cgit v1.2.3


From d868cb4f8a84b6275b6407b20bb3ba939a53681a Mon Sep 17 00:00:00 2001
From: David Heinemeier Hansson <david@loudthinking.com>
Date: Thu, 1 Apr 2010 13:36:45 -0700
Subject: Prep for beta2, depend on latest Bundler

---
 railties/lib/rails/version.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'railties/lib/rails')

diff --git a/railties/lib/rails/version.rb b/railties/lib/rails/version.rb
index 1dd8fa0ec7..7c47cbeabd 100644
--- a/railties/lib/rails/version.rb
+++ b/railties/lib/rails/version.rb
@@ -3,7 +3,7 @@ module Rails
     MAJOR = 3
     MINOR = 0
     TINY  = 0
-    BUILD = "beta1"
+    BUILD = "beta2"
 
     STRING = [MAJOR, MINOR, TINY, BUILD].join('.')
   end
-- 
cgit v1.2.3