class Spiceweasel::Knife

create knife commands from the manifest

Attributes

create[R]
knife_list[R]

Public Class Methods

new(knives = {}, allknifes = []) click to toggle source
# File lib/spiceweasel/knife.rb, line 27
def initialize(knives = {}, allknifes = [])
  @create = []

  return unless knives

  knives.each do |knife|
    Spiceweasel::Log.debug("knife: #{knife}")
    knife.keys.each do |knf|
      validate(knf, allknifes) unless Spiceweasel::Config[:novalidation]
      if knife[knf]
        knife[knf].each do |options|
          create_command("knife #{knf} #{options}")
        end
      else
        create_command("knife #{knf}")
      end
    end
  end
end

Public Instance Methods

validate(command, allknifes) click to toggle source

test that the knife command exists

# File lib/spiceweasel/knife.rb, line 48
def validate(command, allknifes)
  return if  allknifes.index { |x| x.start_with?("knife #{command}") }

  STDERR.puts "ERROR: 'knife #{command}' is not a currently supported command for knife."
  exit(-1)
end