7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/matching_bundle.rb', line 7
def find_or_install_matching_version(gemfile_content)
requirements = bundler_requirements(gemfile_content)
return if requirements.empty?
if version = find_matching_local_bundler_version(requirements)
warn "Using installed bundler #{version}"
return version
end
unless version = find_matching_remote_bundler_version(requirements)
warn "No remote version of bundler satisfies #{requirements.join(", ")}"
return
end
warn "Installing bundler #{version}"
abort unless system "gem", "install", "bundler", "-v", version
version
end
|