class Chef::Knife::ConfigureFileSet

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/configure_file_set.rb, line 17
def run
  set_default
end
set_default() click to toggle source
# File lib/chef/knife/configure_file_set.rb, line 33
def set_default
  verify_args
  new_config = name_args[0]
  new_file = knife_files.select { |f| f.basename.to_s.include?(new_config) }.first
  if !new_file
    ui.error "Could not find a #{new_config} configuration file."
    exit 1
  end

  if default_file.symlink?
    default_file.unlink
  elsif default_file.exist?
    default_file.rename("#{config_dir}/knife.rb.bak")
  end

  default_file.make_symlink(new_file)
  show_knife(default_file.realpath.basename.to_s)
end
verify_args() click to toggle source
# File lib/chef/knife/configure_file_set.rb, line 21
def verify_args
  if name_args.count < 1
    ui.error 'You must supply a configuration file as an argument'
    exit 1
  end

  if default_file.exist? && !default_file.symlink? && !config[:force]
    ui.error 'The default file is not a symlink.  Use --force to overwrite it.'
    exit 1
  end
end