Class: EacDocker::Container::RunCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/eac_docker/container/run_command.rb

Instance Method Summary collapse

Instance Method Details

#all_argsArray<String>

Returns:

  • (Array<String>)


17
18
19
20
21
# File 'lib/eac_docker/container/run_command.rb', line 17

def all_args
  %w[boolean capabilities envs name volumes]
    .inject([]) { |a, e| a + send("#{e}_args") } +
    extra_args + [image.provide.id] + command_args
end

#boolean_argsArray<String>

Returns:

  • (Array<String>)


24
25
26
27
28
29
30
# File 'lib/eac_docker/container/run_command.rb', line 24

def boolean_args
  r = []
  r << '--interactive' if interactive?
  r << '--tty' if tty?
  r << '--rm' if temporary?
  r
end

#capabilities_argsArray<String>

Returns:

  • (Array<String>)


33
34
35
# File 'lib/eac_docker/container/run_command.rb', line 33

def capabilities_args
  capabilities.flat_map { |capability| ['--cap-add', capability] }
end

#envs_argsArray<String>

Returns:

  • (Array<String>)


38
39
40
# File 'lib/eac_docker/container/run_command.rb', line 38

def envs_args
  envs.flat_map { |name, value| ['--env', "#{name}=#{value}"] }
end

#name_argsArray<String>

Returns:

  • (Array<String>)


43
44
45
# File 'lib/eac_docker/container/run_command.rb', line 43

def name_args
  name.if_present([]) { |v| ['--name', v] }
end

#resultEacRubyUtils::Envs::Command

Returns:

  • (EacRubyUtils::Envs::Command)


12
13
14
# File 'lib/eac_docker/container/run_command.rb', line 12

def result
  ::EacDocker::Executables.docker.command('run', *all_args)
end

#volumes_argsArray<String>

Returns:

  • (Array<String>)


48
49
50
# File 'lib/eac_docker/container/run_command.rb', line 48

def volumes_args
  volumes.flat_map { |volume| ['--volume', volume] }
end