Skip to content

Commit

Permalink
Fixed that boot.rb would set RAILS_GEM_VERSION twice, not respect an …
Browse files Browse the repository at this point in the history
…uncommented RAILS_GEM_VERSION line, and not use require_gem [DHH] Added rake rails:update:configs to update config/boot.rb from the latest (also included in rake rails:update) [DHH]

git-svn-id: http://svn-commit.rubyonrails.org/rails/branches/stable@4197 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information
dhh committed Apr 7, 2006
1 parent e1deb6a commit 2120651
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 22 deletions.
5 changes: 5 additions & 0 deletions railties/CHANGELOG
@@ -1,3 +1,8 @@
*SVN*

* Fixed that boot.rb would set RAILS_GEM_VERSION twice, not respect an uncommented RAILS_GEM_VERSION line, and not use require_gem [DHH]


*1.1.1* (April 6th, 2005)

* Enhances plugin#discover allowing it to discover svn:// like URIs (closes #4565) [ruben.nine@gmail.com]
Expand Down
46 changes: 26 additions & 20 deletions railties/environments/boot.rb
Expand Up @@ -2,37 +2,43 @@

unless defined?(RAILS_ROOT)
root_path = File.join(File.dirname(__FILE__), '..')

unless RUBY_PLATFORM =~ /mswin32/
require 'pathname'
root_path = Pathname.new(root_path).cleanpath(true).to_s
end

RAILS_ROOT = root_path
end

if File.directory?("#{RAILS_ROOT}/vendor/rails")
require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
else
require 'rubygems'
unless defined?(Rails::Initializer)
if File.directory?("#{RAILS_ROOT}/vendor/rails")
require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
else
require 'rubygems'

if !defined?(RAILS_GEM_VERSION) && File.read(File.dirname(__FILE__) + '/environment.rb') =~ /RAILS_GEM_VERSION = '([\d.]+)'/
RAILS_GEM_VERSION = $1
end
environment_without_comments = IO.readlines(File.dirname(__FILE__) + '/environment.rb').reject { |l| l =~ /^#/ }.join
environment_without_comments =~ /[^#]RAILS_GEM_VERSION = '([\d.]+)'/
rails_gem_version = $1

if defined?(RAILS_GEM_VERSION)
rails_gem = Gem.cache.search('rails', "=#{RAILS_GEM_VERSION}").first
if version = defined?(RAILS_GEM_VERSION) ? RAILS_GEM_VERSION : rails_gem_version
rails_gem = Gem.cache.search('rails', "=#{version}").first

if rails_gem
require rails_gem.full_gem_path + '/lib/initializer'
if rails_gem
require_gem "rails", "=#{version}"
require rails_gem.full_gem_path + '/lib/initializer'
else
STDERR.puts %(Cannot find gem for Rails =#{version}:
Install the missing gem with 'gem install -v=#{version} rails', or
change environment.rb to define RAILS_GEM_VERSION with your desired version.
)
exit 1
end
else
STDERR.puts %(Cannot find gem for Rails =#{RAILS_GEM_VERSION}:
Install the missing gem with 'gem install -v=#{RAILS_GEM_VERSION} rails', or
change environment.rb to define RAILS_GEM_VERSION with your desired version.
)
exit 1
require_gem "rails"
require 'initializer'
end
else
require 'initializer'
end
end

Rails::Initializer.run(:set_load_path)
Rails::Initializer.run(:set_load_path)
end
12 changes: 10 additions & 2 deletions railties/lib/tasks/framework.rake
Expand Up @@ -71,8 +71,8 @@ namespace :rails do
rm_rf "vendor/rails"
end

desc "Update both scripts and public/javascripts from Rails"
task :update => [ "update:scripts", "update:javascripts" ]
desc "Update both configs, scripts and public/javascripts from Rails"
task :update => [ "update:scripts", "update:javascripts", "update:configs" ]

namespace :update do
desc "Add new scripts to the application script/ directory"
Expand Down Expand Up @@ -102,5 +102,13 @@ namespace :rails do
scripts.reject!{|s| File.basename(s) == 'application.js'} if File.exists?(project_dir + 'application.js')
FileUtils.cp(scripts, project_dir)
end

desc "Update boot/config.rb from your current rails install"
task :configs do
require 'railties_path'
project_dir = RAILS_ROOT + '/public/javascripts/'
scripts = Dir[RAILTIES_PATH + '/html/javascripts/*.js']
FileUtils.cp(RAILTIES_PATH + '/environments/boot.rb', RAILTIES_PATH + '/environments/boot.rb')
end
end
end

0 comments on commit 2120651

Please sign in to comment.