7b0cb6aba8
* Ran the Rails upgrade * Upgraded to Rails Engines 2.3.2 * Added a plugin to let Engines override application views. * Converted tests to use the new classes: ** ActionController::TestCase for functional ** ActiveSupport::TestCase for units * Converted ActiveRecord::Error message to a string. * ActiveRecord grouping returns an ordered hash which doesn't have #sort! * Updated the I18n storage_units format. * Added some default initializers from a fresh rails app * Changed the order of check_box_tags and hidden_field_tags. The hidden tag needs to appear first in Rails 2.3, otherwise it will override any value in the check_box_tag. * Removed the custom handler for when the cookie store is tampered with. Rails 2.3 removed the TamperedWithCookie exception and instead Rails will not load the data from it when it's been tampered with (e.g. no user login). * Fixed mail layouts, 2.3 has problems with implicit multipart emails that use layouts. Also removed some custom Redmine mailer code. * Fixed a bug that occurred in tests where the "required" span tag would be added to the :field_status translation. This resulted in an email string of: <li>Status<span class="required"> *</span><span class="required"> *</span> Instead of: <li>Status: New</li> git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2887 e93f8b46-1217-0410-a6f0-8f06a7374b81
111 lines
2.7 KiB
Ruby
111 lines
2.7 KiB
Ruby
# Don't change this file!
|
|
# Configure your app in config/environment.rb and config/environments/*.rb
|
|
|
|
RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
|
|
|
|
module Rails
|
|
class << self
|
|
def boot!
|
|
unless booted?
|
|
preinitialize
|
|
pick_boot.run
|
|
end
|
|
end
|
|
|
|
def booted?
|
|
defined? Rails::Initializer
|
|
end
|
|
|
|
def pick_boot
|
|
(vendor_rails? ? VendorBoot : GemBoot).new
|
|
end
|
|
|
|
def vendor_rails?
|
|
File.exist?("#{RAILS_ROOT}/vendor/rails")
|
|
end
|
|
|
|
def preinitialize
|
|
load(preinitializer_path) if File.exist?(preinitializer_path)
|
|
end
|
|
|
|
def preinitializer_path
|
|
"#{RAILS_ROOT}/config/preinitializer.rb"
|
|
end
|
|
end
|
|
|
|
class Boot
|
|
def run
|
|
load_initializer
|
|
Rails::Initializer.run(:set_load_path)
|
|
end
|
|
end
|
|
|
|
class VendorBoot < Boot
|
|
def load_initializer
|
|
require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
|
|
Rails::Initializer.run(:install_gem_spec_stubs)
|
|
Rails::GemDependency.add_frozen_gem_path
|
|
end
|
|
end
|
|
|
|
class GemBoot < Boot
|
|
def load_initializer
|
|
self.class.load_rubygems
|
|
load_rails_gem
|
|
require 'initializer'
|
|
end
|
|
|
|
def load_rails_gem
|
|
if version = self.class.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
|
|
|
|
class << self
|
|
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("#{RAILS_ROOT}/config/environment.rb")
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# All that for this:
|
|
Rails.boot!
|