class Sidedock::Machine
Public Class Methods
new(name)
click to toggle source
# File lib/sidedock/machine.rb, line 3 def initialize(name) @name = name end
Public Instance Methods
cli()
click to toggle source
# File lib/sidedock/machine.rb, line 55 def cli @cli ||= DockerCLI.new options_to_let_docker_connect_to_it end
create()
click to toggle source
# File lib/sidedock/machine.rb, line 22 def create puts "Creating docker machine `#{@name}`. This may take a while." docker_machine "create -d virtualbox #{@name}" end
docker_machine(command)
click to toggle source
# File lib/sidedock/machine.rb, line 50 def docker_machine(command) @machine_cli ||= MachineCLI.new @machine_cli.execute command end
ensure_exists()
click to toggle source
# File lib/sidedock/machine.rb, line 7 def ensure_exists create unless exists? raise "Could not create docker machine #{@name}" unless exists? end
ensure_running()
click to toggle source
# File lib/sidedock/machine.rb, line 12 def ensure_running ensure_exists start unless running? raise "Could not start docker machine #{@name}" unless running? end
execute(command)
click to toggle source
# File lib/sidedock/machine.rb, line 45 def execute(command) ensure_running cli.execute command end
exists?()
click to toggle source
# File lib/sidedock/machine.rb, line 34 def exists? return true if @exists if docker_machine("ls -q").include? @name @exists = true end end
ip()
click to toggle source
# File lib/sidedock/machine.rb, line 41 def ip docker_machine "ip #{@name}" end
options_to_let_docker_connect_to_it()
click to toggle source
# File lib/sidedock/machine.rb, line 59 def options_to_let_docker_connect_to_it docker_machine("config #{@name}").gsub("\n", ' ') end
running?()
click to toggle source
# File lib/sidedock/machine.rb, line 27 def running? return true if @running if docker_machine("ls -q --filter state=Running").include? @name @running = true end end
start()
click to toggle source
# File lib/sidedock/machine.rb, line 18 def start docker_machine "start #{@name}" end