Class: MultiRails::Loader
- Inherits:
-
Object
- Object
- MultiRails::Loader
- Defined in:
- lib/multi_rails/loader.rb
Instance Attribute Summary collapse
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Class Method Summary collapse
-
.all_rails_versions ⇒ Object
Returns a list of all Rails versions available, oldest first.
-
.gem_and_require_rails(rails_version = nil) ⇒ Object
Require and gem rails Will use a default version if none is supplied.
- .latest_stable_version ⇒ Object
- .logger ⇒ Object
Instance Method Summary collapse
-
#gem_and_require_rails ⇒ Object
Gem a version of Rails, and require appropriate files.
- #gem_rails ⇒ Object
-
#initialize(version) ⇒ Loader
constructor
A version of the loader is created to gem and require one version of Rails.
- #require_rails ⇒ Object
Constructor Details
#initialize(version) ⇒ Loader
A version of the loader is created to gem and require one version of Rails
28 29 30 |
# File 'lib/multi_rails/loader.rb', line 28 def initialize(version) @version = version end |
Instance Attribute Details
#version ⇒ Object (readonly)
Returns the value of attribute version.
4 5 6 |
# File 'lib/multi_rails/loader.rb', line 4 def version @version end |
Class Method Details
.all_rails_versions ⇒ Object
Returns a list of all Rails versions available, oldest first
18 19 20 21 |
# File 'lib/multi_rails/loader.rb', line 18 def self.all_rails_versions specs = Gem::cache.find_name("rails") specs.map {|spec| spec.version.to_s }.sort end |
.gem_and_require_rails(rails_version = nil) ⇒ Object
Require and gem rails Will use a default version if none is supplied
12 13 14 15 |
# File 'lib/multi_rails/loader.rb', line 12 def self.gem_and_require_rails(rails_version = nil) rails_version = MultiRails::Config.version_lookup(rails_version) Loader.new(rails_version).gem_and_require_rails end |
.latest_stable_version ⇒ Object
23 24 25 |
# File 'lib/multi_rails/loader.rb', line 23 def self.latest_stable_version all_rails_versions.sort.reverse.detect {|version| version.count(".") < 3 } end |
.logger ⇒ Object
6 7 8 |
# File 'lib/multi_rails/loader.rb', line 6 def self.logger @logger ||= Logger.new(STDOUT) end |
Instance Method Details
#gem_and_require_rails ⇒ Object
Gem a version of Rails, and require appropriate files
33 34 35 36 |
# File 'lib/multi_rails/loader.rb', line 33 def gem_and_require_rails gem_rails require_rails end |
#gem_rails ⇒ Object
38 39 40 41 42 43 |
# File 'lib/multi_rails/loader.rb', line 38 def gem_rails gem 'rails', version rescue LoadError => e msg = %Q[Cannot find gem for Rails version: '#{version}'!\nInstall the missing gem with:\nsudo gem install -v=#{version} rails] raise MultiRailsError, msg end |
#require_rails ⇒ Object
45 46 47 |
# File 'lib/multi_rails/loader.rb', line 45 def require_rails Config.rails_requires.each {|lib| require lib } end |