##// END OF EJS Templates
Allow referencing issue numbers in brackets. This style is used by other...
Allow referencing issue numbers in brackets. This style is used by other bug trackers. Examples: * "[#nnn] Worked on this issue" * "[#nnn, #mmm] Worked on these" * "[#nnn #mmm] Working some more" git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2854 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r2430:fe28193e4eb9
r2749:609faba6a3d3
Show More
boot.rb
109 lines | 2.7 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Merged Rails 2.1 compatibility branch....
r1609 # Don't change this file!
# Configure your app in config/environment.rb and config/environments/*.rb
Jean-Philippe Lang
Initial commit...
r2
Jean-Philippe Lang
Expand RAILS_ROOT path on startup (#1892)....
r1818 RAILS_ROOT = File.expand_path("#{File.dirname(__FILE__)}/..") unless defined?(RAILS_ROOT)
Jean-Philippe Lang
Merged Rails 2.1 compatibility branch....
r1609
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
Jean-Philippe Lang
Initial commit...
r2 end
Jean-Philippe Lang
Merged Rails 2.1 compatibility branch....
r1609 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)
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
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 Gem::RubyGemsVersion rescue nil
Jean-Philippe Lang
Merged Rails 2.1 compatibility branch....
r1609 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
require 'rubygems'
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 min_version = '1.3.1'
unless rubygems_version >= min_version
$stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
Jean-Philippe Lang
Merged Rails 2.1 compatibility branch....
r1609 exit 1
end
rescue LoadError
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
Jean-Philippe Lang
Merged Rails 2.1 compatibility branch....
r1609 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
Jean-Philippe Lang
Initial commit...
r2 end
Jean-Philippe Lang
Merged Rails 2.1 compatibility branch....
r1609 # All that for this:
Rails.boot!