Class: Kondate::CLI

Inherits:
Thor
  • Object
show all
Extended by:
Parallel::ProcessorCount
Defined in:
lib/kondate/cli.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = [], opts = [], config = {}) ⇒ CLI

default_command :itamae



25
26
27
28
# File 'lib/kondate/cli.rb', line 25

def initialize(args = [], opts = [], config = {})
  super
  Config.configure(@options)
end

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/kondate/cli.rb', line 17

def self.exit_on_failure?
  true
end

Instance Method Details

#init(target_dir) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/kondate/cli.rb', line 31

def init(target_dir)
  Config.kondate_directories.each do |_, dir|
    $stdout.puts "mkdir -p #{File.join(target_dir, dir)}"
    FileUtils.mkdir_p(File.join(target_dir, dir)) unless @options[:dry_run]
  end

  templates_dir = File.join(Kondate::ROOT, 'lib', 'kondate', 'templates')
  templates_dir_length = templates_dir.length
  Find.find(templates_dir).select {|f| File.file?(f) }.each do |src|
    next if File.basename(src) == '.gitkeep'
    dst = File.join(target_dir, src[templates_dir_length+1 .. -1])
    dst_dir = File.dirname(dst)
    unless Dir.exist?(dst_dir)
      $stdout.puts "mkdir -p #{dst_dir}"
      FileUtils.mkdir_p(dst_dir) unless @options[:dry_run]
    end
    $stdout.puts "cp #{src} #{dst}"
    FileUtils.copy(src, dst) unless @options[:dry_run]
  end
end

#itamae(host) ⇒ Object



60
61
62
# File 'lib/kondate/cli.rb', line 60

def itamae(host)
  with_host(host) {|property_files| do_itamae(host, property_files) }
end

#itamae_role(role) ⇒ Object



73
74
75
# File 'lib/kondate/cli.rb', line 73

def itamae_role(role)
  with_role(role) {|host, property_files| do_itamae(host, property_files) }
end

#serverspec(host) ⇒ Object



83
84
85
# File 'lib/kondate/cli.rb', line 83

def serverspec(host)
  with_host(host) {|property_files| do_serverspec(host, property_files) }
end

#serverspec_role(role) ⇒ Object



94
95
96
# File 'lib/kondate/cli.rb', line 94

def serverspec_role(role)
  with_role(role) {|host, property_files| do_serverspec(host, property_files) }
end