blob: 4139038df82a2c731f4791a334ab63e1d2158c5b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
module BundlerVendoredPostIt
class Installer
def initialize(bundler_version)
@bundler_version = bundler_version
end
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
def install!
return if installed?
require 'rubygems/dependency_installer'
installer = Gem::DependencyInstaller.new
installer.install('bundler', @bundler_version)
installer.installed_gems
end
end
end
|