Class: PostIt::Installer
- Inherits:
-
Object
- Object
- PostIt::Installer
- Defined in:
- lib/postit/installer.rb
Instance Method Summary collapse
-
#initialize(bundler_version) ⇒ Installer
constructor
A new instance of Installer.
- #install! ⇒ Object
- #installed? ⇒ Boolean
Constructor Details
#initialize(bundler_version) ⇒ Installer
Returns a new instance of Installer.
3 4 5 |
# File 'lib/postit/installer.rb', line 3 def initialize(bundler_version) @bundler_version = bundler_version end |
Instance Method Details
#install! ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/postit/installer.rb', line 20 def install! return if installed? require 'rubygems/dependency_installer' installer = Gem::DependencyInstaller.new installer.install('bundler', @bundler_version) installer.installed_gems end |
#installed? ⇒ Boolean
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/postit/installer.rb', line 7 def installed? if Gem::Specification.respond_to?(:find_by_name) !Gem::Specification.find_by_name('bundler', @bundler_version).nil? else requirement = Gem::Requirement.new(@bundler_version) Gem.source_index.gems.values.any? do |s| s.name == 'bundler' && requirement.satisfied_by?(s.version) end end rescue LoadError false end |