Module: Legion::Extensions::Detect::Installer

Defined in:
lib/legion/extensions/detect/installer.rb

Class Method Summary collapse

Class Method Details

.install(gem_names, dry_run: false) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/legion/extensions/detect/installer.rb', line 8

def install(gem_names, dry_run: false)
  return { installed: gem_names, failed: [] } if dry_run

  installed = []
  failed = []

  gem_names.each do |name|
    Gem.install(name)
    installed << name
  rescue StandardError => e
    failed << { name: name, error: e.message }
  end

  { installed: installed, failed: failed }
end