Module: VagrantPlugins::DockerComposeProvisioner::Cap::Linux::DockerComposeSetProjectName

Defined in:
lib/vagrant-docker-compose/cap/linux/docker_compose_set_project_name.rb

Constant Summary collapse

ROOT_PROFILE_FILE_NAME =
"~/.profile"
PROFILE_FILE_NAME =
"~/.profile_vagrant-docker-compose_compose-project-name"

Class Method Summary collapse

Class Method Details

.docker_compose_set_project_name(machine, config) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/vagrant-docker-compose/cap/linux/docker_compose_set_project_name.rb', line 9

def self.docker_compose_set_project_name(machine, config)
  return if config.project_name.nil?
  machine.communicate.tap do |comm|
    export_command = "export COMPOSE_PROJECT_NAME='#{config.project_name}'"
    export_injection_command = "echo \"#{export_command}\" > #{PROFILE_FILE_NAME}"
    comm.execute(export_injection_command)
    comm.sudo(export_injection_command)

    source_command = "source #{PROFILE_FILE_NAME}"
    source_injection_command = "if ! grep -q \"#{source_command}\" #{ROOT_PROFILE_FILE_NAME} ; then echo \"#{source_command}\" >> #{ROOT_PROFILE_FILE_NAME} ; fi"
    comm.execute(source_injection_command)
    comm.sudo(source_injection_command)
  end
end