Module: MatchingBundle

Defined in:
lib/matching_bundle.rb,
lib/matching_bundle/version.rb

Constant Summary collapse

VERSION =
"0.3.1"

Class Method Summary collapse

Class Method Details

.find_or_install_matching_version(gemfile_content) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 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 "Found bundler #{version}"
    return version
  end

  return unless version = find_matching_remote_bundler_version(requirements)

  warn "Installing bundler #{version}"
  abort unless system "gem", "install", "bundler", "-v", version
  version
end