Class: Evm::Command::Install

Inherits:
Object
  • Object
show all
Defined in:
lib/evm/command/install.rb

Instance Method Summary collapse

Constructor Details

#initialize(package_name, options = {}) ⇒ Install

Returns a new instance of Install.



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
# File 'lib/evm/command/install.rb', line 4

def initialize(package_name, options = {})
  unless package_name
    raise Evm::Exception.new('The install command requires an argument')
  end

  package = Evm::Package.find(package_name)

  if package.installed? && (!options[:force] || options[:skip])
    unless options[:skip]
      raise Evm::Exception.new("Already installed #{package_name}")
    end
  else
    if options[:force]
      package.uninstall!
    end

    package.install!

    if options[:use]
      package.use!
    end

    STDOUT.puts "Successfully installed #{package_name}"
  end
end