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