Class: Sambot::Domain::Cookbooks::AssistantChef

Inherits:
Object
  • Object
show all
Defined in:
lib/sambot/domain/cookbooks/assistant_chef.rb

Instance Method Summary collapse

Constructor Details

#initializeAssistantChef

Returns a new instance of AssistantChef.



9
10
11
# File 'lib/sambot/domain/cookbooks/assistant_chef.rb', line 9

def initialize
  @modified_files = []
end

Instance Method Details

#build_cookbook(essential_files, generated_files) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/sambot/domain/cookbooks/assistant_chef.rb', line 13

def build_cookbook(essential_files, generated_files)
  config = Common::Config.new.read
  validate_cookbook_structure(config['platform'], essential_files, generated_files)
  setup_test_kitchen(config)
  (config)
  copy_git_hooks()
  @modified_files
end

#clean_cookbook(generated_files) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/sambot/domain/cookbooks/assistant_chef.rb', line 22

def clean_cookbook(generated_files)
  delete_file('metadata.rb')
  delete_file('winrm_config')
  generated_files.each { |file| delete_file(file) }
  Dir.glob('\.kitchen*\.yml').each { |file| delete_file(file)}
  @modified_files
end

#generate_cookbook(name, platform, type, description, essential_files, generated_files) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/sambot/domain/cookbooks/assistant_chef.rb', line 30

def generate_cookbook(name, platform, type, description, essential_files, generated_files)
  Git.init(name)
  Dir.chdir(name) do
    FileUtils.mkdir('test')
    FileUtils.mkdir('spec')
    FileUtils.mkdir('recipes')
    FileUtils.touch('README.md')
    write_config(name, description, platform, type)
    build_cookbook(essential_files, generated_files)
  end
end