Class: Vagabond::Uploader::Knife

Inherits:
Vagabond::Uploader show all
Defined in:
lib/vagabond/uploader/knife.rb

Direct Known Subclasses

Berkshelf, Librarian

Constant Summary

Constants included from Helpers

Helpers::GEN_NAME_LENGTH, Helpers::RAND_CHARS

Instance Attribute Summary

Attributes inherited from Vagabond::Uploader

#options, #store, #ui

Instance Method Summary collapse

Methods inherited from Vagabond::Uploader

#initialize, #prepare

Methods included from Helpers

included

Constructor Details

This class inherits a constructor from Vagabond::Uploader

Instance Method Details

#upload(*args) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/vagabond/uploader/knife.rb', line 7

def upload(*args)
  prepare unless args.include?(:no_prepare)
  com = "knife cookbook upload#{options[:knife_opts]} --all"
  if(options[:cookbook_paths])
    com << " --cookbook-path #{Array(options[:cookbook_paths]).join(':')}"
  end
  if(File.exists?(knife_config = File.join(store, '.chef/knife.rb')))
    com << " --config #{knife_config}"
  end
  debug(com)
  cmd = Mixlib::ShellOut.new(com,
    :live_stream => options[:debug],
    :cwd => store
  )
  cmd.run_command
  cmd.error!
end