Changesets can be listed by changeset number.
The Git repository is here.
- Revision:
- 341
- Log:
Lots of changes to Hub to make it Rails 2.3.11 compatible. This is being
checked in as one large changeset because it doesn't really split down into
smaller components without having something that doesn't function in the
intermediate steps.
- Author:
- rool
- Date:
- Sat Mar 19 19:11:39 +0000 2011
- Size:
- 2795 Bytes
1 | # Don't change this file! |
2 | # Configure your app in config/environment.rb and config/environments/*.rb |
3 | |
4 | RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT) |
5 | |
6 | module Rails |
7 | class << self |
8 | def boot! |
9 | unless booted? |
10 | preinitialize |
11 | pick_boot.run |
12 | end |
13 | end |
14 | |
15 | def booted? |
16 | defined? Rails::Initializer |
17 | end |
18 | |
19 | def pick_boot |
20 | (vendor_rails? ? VendorBoot : GemBoot).new |
21 | end |
22 | |
23 | def vendor_rails? |
24 | File.exist?("#{RAILS_ROOT}/vendor/rails") |
25 | end |
26 | |
27 | def preinitialize |
28 | load(preinitializer_path) if File.exist?(preinitializer_path) |
29 | end |
30 | |
31 | def preinitializer_path |
32 | "#{RAILS_ROOT}/config/preinitializer.rb" |
33 | end |
34 | end |
35 | |
36 | class Boot |
37 | def run |
38 | load_initializer |
39 | Rails::Initializer.run(:set_load_path) |
40 | end |
41 | end |
42 | |
43 | class VendorBoot < Boot |
44 | def load_initializer |
45 | require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer" |
46 | Rails::Initializer.run(:install_gem_spec_stubs) |
47 | Rails::GemDependency.add_frozen_gem_path |
48 | end |
49 | end |
50 | |
51 | class GemBoot < Boot |
52 | def load_initializer |
53 | self.class.load_rubygems |
54 | load_rails_gem |
55 | require 'initializer' |
56 | end |
57 | |
58 | def load_rails_gem |
59 | if version = self.class.gem_version |
60 | gem 'rails', version |
61 | else |
62 | gem 'rails' |
63 | end |
64 | rescue Gem::LoadError => load_error |
65 | $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.) |
66 | exit 1 |
67 | end |
68 | |
69 | class << self |
70 | def rubygems_version |
71 | Gem::RubyGemsVersion rescue nil |
72 | end |
73 | |
74 | def gem_version |
75 | if defined? RAILS_GEM_VERSION |
76 | RAILS_GEM_VERSION |
77 | elsif ENV.include?('RAILS_GEM_VERSION') |
78 | ENV['RAILS_GEM_VERSION'] |
79 | else |
80 | parse_gem_version(read_environment_rb) |
81 | end |
82 | end |
83 | |
84 | def load_rubygems |
85 | min_version = '1.3.2' |
86 | require 'rubygems' |
87 | unless rubygems_version >= min_version |
88 | $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.) |
89 | exit 1 |
90 | end |
91 | |
92 | rescue LoadError |
93 | $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org) |
94 | exit 1 |
95 | end |
96 | |
97 | def parse_gem_version(text) |
98 | $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/ |
99 | end |
100 | |
101 | private |
102 | def read_environment_rb |
103 | File.read("#{RAILS_ROOT}/config/environment.rb") |
104 | end |
105 | end |
106 | end |
107 | end |
108 | |
109 | # All that for this: |
110 | Rails.boot! |