module DockerCore::Process
Public Class Methods
capture(*arguments, sudo: SUDO, throw: false, wait: 0, strip: true, echo: false)
click to toggle source
@param [Array] arguments @param [Boolean, String] sudo @param [Boolean] throw @param [Numeric] wait @param [Boolean] strip @param [Boolean] echo
# File lib/docker_core.rb, line 355 def self.capture(*arguments, sudo: SUDO, throw: false, wait: 0, strip: true, echo: false) begin command = self.command(*arguments, sudo: sudo) if echo Color.echo(": #{command}", Color::YELLOW) end data = `#{command}` result = strip ? "#{data}".strip : data self.wait(wait) return result rescue raise unless throw return '' end end
command(*arguments, sudo: SUDO)
click to toggle source
@param [Array] arguments @param [Boolean, String] sudo
# File lib/docker_core.rb, line 337 def self.command(*arguments, sudo: SUDO) if true == sudo arguments.unshift('sudo') end if sudo.is_a?(String) && false == "#{sudo}".empty? arguments.unshift('su-exec', sudo) end return Paser.arguments(*arguments).join(' ') end
execute(*arguments, sudo: SUDO, echo: true)
click to toggle source
@param [Array] arguments @param [Boolean, String] sudo
# File lib/docker_core.rb, line 392 def self.execute(*arguments, sudo: SUDO, echo: true) command = self.command(*arguments, sudo: sudo) if echo Color.echo("= #{command}", Color::CYAN) end exec(command) end
invoke(title, delegate, *arguments)
click to toggle source
@param [String] title @param [Method] delegate @param [Array] arguments
# File lib/docker_core.rb, line 405 def self.invoke(title, delegate, *arguments) color = Color::YELLOW Color.echo("> #{title}", color) delegate.call(*arguments) Color.echo("< #{title}", color) end
run(*arguments, sudo: SUDO, throw: true, wait: 0, echo: true)
click to toggle source
@param [Array] arguments @param [Boolean, String] sudo @param [Boolean] throw @param [Numeric] wait @param [Boolean] echo
# File lib/docker_core.rb, line 378 def self.run(*arguments, sudo: SUDO, throw: true, wait: 0, echo: true) command = self.command(*arguments, sudo: sudo) if echo Color.echo("+ #{command}", Color::GREEN) end result = system(command, exception: throw) self.wait(wait) return result end
wait(second = 0)
click to toggle source
@param [Numeric] second
# File lib/docker_core.rb, line 324 def self.wait(second = 0) if second.is_a?(Numeric) if 0 > second return sleep end if 0 < second return sleep(second) end end end