Show More
Commit Description:
added codejom controller, show status in public
Commit Description:
added codejom controller, show status in public
References:
File last commit:
Show/Diff file:
Action:
config/boot.rb
| 110 lines
| 2.7 KiB
| text/x-ruby
| RubyLexer
|
|
r137 | # 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 | ||||
|
r0 | |||
|
r137 | def booted? | ||
defined? Rails::Initializer | ||||
end | ||||
def pick_boot | ||||
(vendor_rails? ? VendorBoot : GemBoot).new | ||||
end | ||||
|
r0 | |||
|
r137 | 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 | ||||
|
r0 | end | ||
|
r137 | class Boot | ||
def run | ||||
load_initializer | ||||
Rails::Initializer.run(:set_load_path) | ||||
end | ||||
end | ||||
|
r0 | |||
|
r137 | class VendorBoot < Boot | ||
def load_initializer | ||||
require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer" | ||||
Rails::Initializer.run(:install_gem_spec_stubs) | ||||
|
r163 | Rails::GemDependency.add_frozen_gem_path | ||
|
r0 | end | ||
end | ||||
|
r137 | 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 | ||||
|
r163 | Gem::RubyGemsVersion rescue nil | ||
|
r137 | 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 | ||||
|
r194 | min_version = '1.3.2' | ||
|
r137 | require 'rubygems' | ||
|
r155 | unless rubygems_version >= min_version | ||
$stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.) | ||||
|
r137 | exit 1 | ||
end | ||||
rescue LoadError | ||||
|
r155 | $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org) | ||
|
r137 | 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 | ||||
|
r0 | end | ||
|
r137 | |||
# All that for this: | ||||
Rails.boot! | ||||