From 7593e8b8b56b030a321b0ab071155a44512685c1 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Fri, 16 Oct 2009 19:40:08 -0500 Subject: Rakefile doesn't need initializers to be ran --- railties/lib/rails/generators/rails/app/templates/Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'railties/lib/rails/generators') diff --git a/railties/lib/rails/generators/rails/app/templates/Rakefile b/railties/lib/rails/generators/rails/app/templates/Rakefile index 1dce9863f2..2450a927f0 100755 --- a/railties/lib/rails/generators/rails/app/templates/Rakefile +++ b/railties/lib/rails/generators/rails/app/templates/Rakefile @@ -1,7 +1,7 @@ # Add your own tasks in files placed in lib/tasks ending in .rake, # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. -require File.expand_path(File.join(File.dirname(__FILE__), 'config', 'environment')) +require File.expand_path(File.join(File.dirname(__FILE__), 'config', 'application')) require 'rake' require 'rake/testtask' -- cgit v1.2.3 From e1fdc8bba3e427435927685e77937b3a478aa416 Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Fri, 16 Oct 2009 18:10:12 -0700 Subject: Remove config.gem in favor of using the bundler. This makes config/boot.rb obsolete. The bundler library is at: http://github.com/wycats/bundler/ and is a rubygem. --- .../rails/generators/rails/app/app_generator.rb | 4 - .../rails/generators/rails/app/templates/Gemfile | 17 ++- .../rails/app/templates/config/application.rb | 11 +- .../generators/rails/app/templates/config/boot.rb | 138 --------------------- 4 files changed, 23 insertions(+), 147 deletions(-) delete mode 100644 railties/lib/rails/generators/rails/app/templates/config/boot.rb (limited to 'railties/lib/rails/generators') diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index 49b13cae2b..20843cd720 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -75,10 +75,6 @@ module Rails::Generators end end - def create_boot_file - copy_file "config/boot.rb" - end - def create_activerecord_files return if options[:skip_activerecord] template "config/databases/#{options[:database]}.yml", "config/database.yml" diff --git a/railties/lib/rails/generators/rails/app/templates/Gemfile b/railties/lib/rails/generators/rails/app/templates/Gemfile index bcbaa432b7..abe8c1556c 100644 --- a/railties/lib/rails/generators/rails/app/templates/Gemfile +++ b/railties/lib/rails/generators/rails/app/templates/Gemfile @@ -5,6 +5,17 @@ gem "rails", "<%= Rails::VERSION::STRING %>" # Bundling edge rails: # gem "rails", "<%= Rails::VERSION::STRING %>", :git => "git://github.com/rails/rails.git" -# You can list more dependencies here -# gem "nokogiri" -# gem "merb" # ;) \ No newline at end of file +# Specify gemcutter as a gem source +# source "http://gemcutter.org" + +# Specify gems that this application depends on and have them installed with rake gems:install +# gem "bj" +# gem "hpricot", "0.6" +# gem "sqlite3-ruby", :require_as => "sqlite3" +# gem "aws-s3", :require_as => "aws/s3" + +# Specify gems that should only be required in certain environments +# gem "rspec", :only => :test +# only :test do +# gem "webrat" +# end \ No newline at end of file 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 cf786093ba..451dba86fb 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/application.rb +++ b/railties/lib/rails/generators/rails/app/templates/config/application.rb @@ -1,5 +1,12 @@ -# Bootstrap the Rails environment, frameworks, and default configuration -require File.expand_path(File.join(File.dirname(__FILE__), 'boot')) +begin + # Use Bundler + require File.expand_path("../../vendor/gems/environment", __FILE__) +rescue LoadError + # Use Rubygems + require 'rubygems' +end + +require 'rails' Rails::Initializer.run do |config| # 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 deleted file mode 100644 index 928b195d8d..0000000000 --- a/railties/lib/rails/generators/rails/app/templates/config/boot.rb +++ /dev/null @@ -1,138 +0,0 @@ -# Don't change this file! -# Configure your app in config/environment.rb and config/environments/*.rb - -module Rails - # Mark the version of Rails that generated the boot.rb file. This is - # a temporary solution and will most likely be removed as Rails 3.0 - # comes closer. - BOOTSTRAP_VERSION = "3.0" - - class << self - def boot! - unless booted? - root = File.expand_path('../..', __FILE__) - booter = File.exist?("#{root}/vendor/rails") ? VendorBoot : GemBoot - booter.new(root).run - end - end - - def booted? - defined? Rails::Initializer - end - end - - class Boot - def initialize(root) - @root = root - end - - def run - preinitialize - set_load_paths - load_initializer - end - - def preinitialize - path = "#{@root}/config/preinitializer.rb" - load(path) if File.exist?(path) - end - - def set_load_paths - %w( - actionmailer/lib - actionpack/lib - activemodel/lib - activerecord/lib - activeresource/lib - activesupport/lib - railties/lib - railties - ).reverse_each do |path| - path = "#{framework_root_path}/#{path}" - $LOAD_PATH.unshift(path) if File.directory?(path) - $LOAD_PATH.uniq! - end - end - - def framework_root_path - defined?(::RAILS_FRAMEWORK_ROOT) ? ::RAILS_FRAMEWORK_ROOT : "#{@root}/vendor/rails" - end - end - - class VendorBoot < Boot - def load_initializer - require "rails" - install_gem_spec_stubs - end - - def install_gem_spec_stubs - begin; require "rubygems"; rescue LoadError; return; end - - %w(rails activesupport activerecord actionpack actionmailer activeresource).each do |stub| - Gem.loaded_specs[stub] ||= Gem::Specification.new do |s| - s.name = stub - s.version = Rails::VERSION::STRING - s.loaded_from = "" - end - end - end - end - - class GemBoot < Boot - def load_initializer - load_rubygems - load_rails_gem - require 'rails' - end - - def load_rails_gem - if version = gem_version - gem 'rails', version - else - gem 'rails' - end - rescue Gem::LoadError => load_error - $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.) - exit 1 - end - - def rubygems_version - Gem::RubyGemsVersion rescue nil - end - - def gem_version - if defined? RAILS_GEM_VERSION - RAILS_GEM_VERSION - elsif ENV.include?('RAILS_GEM_VERSION') - ENV['RAILS_GEM_VERSION'] - else - parse_gem_version(read_environment_rb) - end - end - - def load_rubygems - min_version = '1.3.2' - require 'rubygems' - unless rubygems_version >= min_version - $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.) - exit 1 - end - - rescue LoadError - $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org) - exit 1 - end - - def parse_gem_version(text) - $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/ - end - - private - def read_environment_rb - File.read("#{@root}/config/environment.rb") - end - end -end - -# All that for this: -Rails.boot! -- cgit v1.2.3 From e13d232150921cdf0ec3d713caefa628d235152e Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Fri, 16 Oct 2009 20:57:46 -0500 Subject: Add stub for configuring your package manager --- railties/lib/rails/generators/rails/app/app_generator.rb | 6 +++++- .../generators/rails/app/templates/config/application.rb | 12 ++---------- .../rails/generators/rails/app/templates/config/boot.rb | 15 +++++++++++++++ .../generators/rails/app/templates/config/environment.rb | 6 +----- 4 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 railties/lib/rails/generators/rails/app/templates/config/boot.rb (limited to 'railties/lib/rails/generators') diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index 20843cd720..93d9ac553d 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -1,4 +1,4 @@ -require 'digest/md5' +require 'digest/md5' require 'active_support/secure_random' require 'rails/version' unless defined?(Rails::VERSION) @@ -75,6 +75,10 @@ module Rails::Generators end end + def create_boot_file + copy_file "config/boot.rb" + end + def create_activerecord_files return if options[:skip_activerecord] template "config/databases/#{options[:database]}.yml", "config/database.yml" 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 451dba86fb..7ba7c52f9e 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/application.rb +++ b/railties/lib/rails/generators/rails/app/templates/config/application.rb @@ -1,12 +1,4 @@ -begin - # Use Bundler - require File.expand_path("../../vendor/gems/environment", __FILE__) -rescue LoadError - # Use Rubygems - require 'rubygems' -end - -require 'rails' +require File.expand_path(File.join(File.dirname(__FILE__), 'boot')) Rails::Initializer.run do |config| # Settings in config/environments/* take precedence over those specified here. @@ -52,4 +44,4 @@ Rails::Initializer.run do |config| # g.template_engine :erb # g.test_framework :test_unit, :fixture => true # end -end \ No newline at end of file +end diff --git a/railties/lib/rails/generators/rails/app/templates/config/boot.rb b/railties/lib/rails/generators/rails/app/templates/config/boot.rb new file mode 100644 index 0000000000..3165a4091e --- /dev/null +++ b/railties/lib/rails/generators/rails/app/templates/config/boot.rb @@ -0,0 +1,15 @@ +# Package management +# Choose one + +# Use Bundler (preferred) +environment = File.expand_path('../../vendor/gems/environment', __FILE__) +require environment if File.exist?(environment) + +# Use 2.x style vendor/rails directory +vendor_rails = File.expand_path('../../vendor/rails', __FILE__) +Dir["#{vendor_rails}/*/lib"].each { |path| $:.unshift(path) } if File.exist?(vendor_rails) + +# Load Rails from traditional RubyGems +require 'rubygems' + +require 'rails' diff --git a/railties/lib/rails/generators/rails/app/templates/config/environment.rb b/railties/lib/rails/generators/rails/app/templates/config/environment.rb index 3bb0f2619e..e5362b21cc 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/environment.rb +++ b/railties/lib/rails/generators/rails/app/templates/config/environment.rb @@ -1,9 +1,5 @@ -# Be sure to restart your server when you modify this file - -# Specifies gem version of Rails to use when vendor/rails is not present -<%= '# ' if options[:freeze] %>RAILS_GEM_VERSION = '<%= Rails::VERSION::STRING %>' unless defined? RAILS_GEM_VERSION - # Load the rails application require File.expand_path(File.join(File.dirname(__FILE__), 'application')) + # Initialize the rails application Rails.initialize! -- cgit v1.2.3 From d0f4d93df823d5124d8f2cc740471d458633c338 Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Sat, 17 Oct 2009 14:38:21 -0700 Subject: Remove some remnants of config.gem --- .../lib/rails/generators/rails/app/templates/config/application.rb | 6 ------ 1 file changed, 6 deletions(-) (limited to 'railties/lib/rails/generators') 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 7ba7c52f9e..bb30136686 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/application.rb +++ b/railties/lib/rails/generators/rails/app/templates/config/application.rb @@ -8,12 +8,6 @@ Rails::Initializer.run do |config| # Add additional load paths for your own custom dirs # config.load_paths += %W( #{root}/extras ) - # Specify gems that this application depends on and have them installed with rake gems:install - # config.gem "bj" - # config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net" - # config.gem "sqlite3-ruby", :lib => "sqlite3" - # config.gem "aws-s3", :lib => "aws/s3" - # Only load the plugins named here, in the order given (default is alphabetical). # :all can be used as a placeholder for all plugins not explicitly named # config.plugins = [ :exception_notification, :ssl_requirement, :all ] -- cgit v1.2.3 From 1ac5cf478825391071d34ec3d7f294fe28c0fceb Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Mon, 19 Oct 2009 15:06:54 -0200 Subject: Make sure boot.rb requires rubygems only when needed --- .../rails/generators/rails/app/templates/config/boot.rb | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'railties/lib/rails/generators') 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 3165a4091e..44c884623e 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/boot.rb +++ b/railties/lib/rails/generators/rails/app/templates/config/boot.rb @@ -1,15 +1,18 @@ # Package management # Choose one -# Use Bundler (preferred) environment = File.expand_path('../../vendor/gems/environment', __FILE__) -require environment if File.exist?(environment) - -# Use 2.x style vendor/rails directory vendor_rails = File.expand_path('../../vendor/rails', __FILE__) -Dir["#{vendor_rails}/*/lib"].each { |path| $:.unshift(path) } if File.exist?(vendor_rails) -# Load Rails from traditional RubyGems -require 'rubygems' +if File.exist?(environment) + # Use Bundler (preferred) + require environment +elsif File.exist?(vendor_rails) + # Use 2.x style vendor/rails directory + Dir["#{vendor_rails}/*/lib"].each { |path| $:.unshift(path) } +else + # Load Rails from traditional RubyGems + require 'rubygems' +end require 'rails' -- cgit v1.2.3