Class: Dockerkit::Base

Inherits:
Thor
  • Object
show all
Includes:
ContainerTasks, DkComposerTasks, ImageTasks, Thor::Actions
Defined in:
lib/dockerkit.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



76
77
78
79
# File 'lib/dockerkit.rb', line 76

def method_missing(method, *args)
  return Alias.run(method.to_s, args) if Alias.all.key?(method.to_s)
  return send(:docker, *args.unshift(method.to_s.gsub(/^_/, ''))) if method.to_s.start_with?('_')
end

Instance Method Details

#alias(name = nil, *cmds) ⇒ Object



45
46
47
48
49
50
# File 'lib/dockerkit.rb', line 45

def alias(name = nil, *cmds)
  return say((Alias.all[name] || "No such Alias:#{name}").red) if options['help']
  return Alias.list_alias unless name
  return Alias.delete_alias(name) if name && options['delete']
  return Alias.create_alias(name, cmds) if cmds
end

#initObject



61
62
63
64
65
66
67
68
69
70
71
# File 'lib/dockerkit.rb', line 61

def init
  dir = options['dir']
  load_config(dir) do |config|
    config[:image_name] = ask_with_default('Image name?', "#{File.basename(Dir.getwd)}:latest")
    config[:repository_urls] = multi_ask('Add new repository_url?')
  end
  inside(dir) do
    init_dockerfile if file_not_exist?(DOCKER_FILE.to_s) && ask('Need Create Dockerfile?'.red, limited_to: %w[y n]) == 'y'
    init_docker_compose_file if file_not_exist?(DOCKER_COMPOSE_FILE.to_s) && ask('Need Create docker-compose file?'.red, limited_to: %w[y n]) == 'y'
  end
end