Class: Bundler::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/bundle-gem-install/cli.rb

Instance Method Summary collapse

Instance Method Details

#gem_installObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/bundle-gem-install/cli.rb', line 6

def gem_install
  begin
    not_installed = Bundler.definition.missing_specs
  rescue GemNotFound, VersionConflict
    Bundler.ui.error "Your Gemfile's dependencies could not be satisfied"
    Bundler.ui.warn  "Install missing gems with `bundle install`"
    exit 1
  end

  if not_installed.any?
    Bundler.ui.error "The following gems are missing"
    not_installed.each { |s| Bundler.ui.error " * #{s.name} (#{s.version})" }
    Bundler.ui.warn "Installing missing gems with `gem install`"
    not_installed.each do |gem|
      puts "gem installing #{gem.name} --version=#{gem.version} ..."
      `gem install #{gem.name} --version=#{gem.version}`
    end
    exit 1
  else
    Bundler.load.lock
    Bundler.ui.info "The Gemfile's dependencies are satisfied"
  end
end