Class: Rails::GemBoot
Class Method Summary collapse
- .gem_version ⇒ Object
- .load_rubygems ⇒ Object
- .parse_gem_version(text) ⇒ Object
- .rubygems_version ⇒ Object
Instance Method Summary collapse
Methods inherited from Boot
Class Method Details
.gem_version ⇒ Object
74 75 76 77 78 79 80 81 82 |
# File 'lib/branston/config/boot.rb', line 74 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 |
.load_rubygems ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/branston/config/boot.rb', line 84 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 |
.parse_gem_version(text) ⇒ Object
97 98 99 |
# File 'lib/branston/config/boot.rb', line 97 def parse_gem_version(text) $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/ end |
.rubygems_version ⇒ Object
70 71 72 |
# File 'lib/branston/config/boot.rb', line 70 def rubygems_version Gem::RubyGemsVersion rescue nil end |
Instance Method Details
#load_initializer ⇒ Object
52 53 54 55 56 |
# File 'lib/branston/config/boot.rb', line 52 def load_initializer self.class.load_rubygems load_rails_gem require 'initializer' end |
#load_rails_gem ⇒ Object
58 59 60 61 62 63 64 65 66 67 |
# File 'lib/branston/config/boot.rb', line 58 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 |