Class: Dockage::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/dockage/cli.rb

Instance Method Summary collapse

Constructor Details

#initializeCLI

Returns a new instance of CLI.



7
8
9
10
11
12
# File 'lib/dockage/cli.rb', line 7

def initialize(*)
  super
  Dockage.verbose_mode = options[:debug] || !!options[:verbose]
  Dockage.debug_mode   = !!options[:debug]
  Dockage.force_mode   = !!options[:force]
end

Instance Method Details

#destroy(name = nil) ⇒ Object



54
55
56
57
58
59
# File 'lib/dockage/cli.rb', line 54

def destroy(name = nil)
  find_containers(name).each do |container|
    Dockage::Docker.shell.stop(container[:name])
    Dockage::Docker.shell.destroy(container[:name])
  end
end

#initObject



27
28
29
# File 'lib/dockage/cli.rb', line 27

def init
  Dockage.create_example_config
end

#provide(name) ⇒ Object



47
48
49
50
51
# File 'lib/dockage/cli.rb', line 47

def provide(name)
  container = find_container(name)
  Dockage.error("SSH is not configured for #{container[:name].bold}") unless container[:ssh]
  Dockage::Docker.shell.provide(container)
end

#reload(name = nil) ⇒ Object



39
40
41
42
43
44
# File 'lib/dockage/cli.rb', line 39

def reload(name = nil)
  find_containers(name).each do |container|
    puts "Reloading #{container[:name].yellow.bold}"
    Dockage::Docker.shell.reload(container)
  end
end

#shellinitObject



76
77
78
# File 'lib/dockage/cli.rb', line 76

def shellinit
  puts Dockage::Docker.shell.shellinit
end

#ssh(name) ⇒ Object



69
70
71
72
73
# File 'lib/dockage/cli.rb', line 69

def ssh(name)
  container = find_container(name)
  Dockage.error("SSH is not configured for #{container[:name].bold}") unless container[:ssh]
  Dockage::SSH.connect(container[:ssh])
end

#status(name = nil) ⇒ Object



21
22
23
24
# File 'lib/dockage/cli.rb', line 21

def status(name = nil)
  find_container(name) if name
  puts Dockage::Docker.shell.status(name)
end

#stop(name = nil) ⇒ Object



62
63
64
65
66
# File 'lib/dockage/cli.rb', line 62

def stop(name = nil)
  find_containers(name).each do |container|
    Dockage::Docker.shell.stop(container[:name])
  end
end

#up(name = nil) ⇒ Object



32
33
34
35
36
# File 'lib/dockage/cli.rb', line 32

def up(name = nil)
  find_containers(name).each do |container|
    Dockage::Docker.shell.up(container)
  end
end

#versionObject



81
82
83
84
85
86
87
88
# File 'lib/dockage/cli.rb', line 81

def version
  puts "\#{'Dockage'.bold}:\n\\tGem version \#{Dockage::VERSION}\n\#{'Docker'.bold}:\n\\t\#{Dockage::Docker.shell.version.gsub(/\\n/, \"\\n\\t\")}\n"
end