class Dockage::CLI
Public Class Methods
new(*)
click to toggle source
Calls superclass method
# 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
Public Instance Methods
destroy(name = nil)
click to toggle source
# 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
init()
click to toggle source
# File lib/dockage/cli.rb, line 27 def init Dockage.create_example_config end
provide(name)
click to toggle source
# 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)
click to toggle source
# 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
shellinit()
click to toggle source
# File lib/dockage/cli.rb, line 76 def shellinit puts Dockage::Docker.shell.shellinit end
ssh(name)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/dockage/cli.rb, line 32 def up(name = nil) find_containers(name).each do |container| Dockage::Docker.shell.up(container) end end
version()
click to toggle source
# File lib/dockage/cli.rb, line 81 def version puts <<CMD #{'Dockage'.bold}: \tGem version #{Dockage::VERSION} #{'Docker'.bold}: \t#{Dockage::Docker.shell.version.gsub(/\n/, "\n\t")} CMD end
Protected Instance Methods
find_container(name = nil)
click to toggle source
# File lib/dockage/cli.rb, line 100 def find_container(name = nil) container = find_containers(name).first Dockage.error("There is no settings for container #{name.bold}") unless container container end
find_containers(name = nil)
click to toggle source
# File lib/dockage/cli.rb, line 92 def find_containers(name = nil) if name Dockage.settings[:containers].select { |x| x[:name].to_s == name.to_s } else Dockage.settings[:containers] end end