Class: VagrantPlugins::DockerComposeProvisioner::Installer

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-docker-compose/installer.rb

Instance Method Summary collapse

Constructor Details

#initialize(machine, config) ⇒ Installer

Returns a new instance of Installer.



4
5
6
7
# File 'lib/vagrant-docker-compose/installer.rb', line 4

def initialize(machine, config)
  @machine = machine
  @config = config
end

Instance Method Details

#ensure_installedObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/vagrant-docker-compose/installer.rb', line 9

def ensure_installed
  @machine.ui.detail(I18n.t(:checking_installation))

  if !@machine.guest.capability(:docker_compose_installed, @config)
    @machine.ui.detail(I18n.t(:installing, version: @config.compose_version))
    @machine.guest.capability(:docker_compose_install, @config)

    if !@machine.guest.capability(:docker_compose_installed, @config)
      raise DockerComposeError, :install_failed
    end
  end

  @machine.ui.detail(I18n.t(:symlinking, version: @config.compose_version))
  @machine.guest.capability(:docker_compose_symlink, @config)

  @machine.guest.capability(:docker_compose_set_project_name, @config)
end