module KnifeSous::ProcessorCommand

Public Class Methods

included(other) click to toggle source
# File lib/knife_sous/processor_command.rb, line 6
def self.included(other)
  other.class_eval do
    option :node_manifest_file,
      :long        => '--node-manifest-file NODE_MANIFEST_FILE',
      :description => 'Alternate location for node manifest config file',
      :default => File.join("nodes", "nodes.rb")
  end
end

Public Instance Methods

manifest_file_path() click to toggle source
# File lib/knife_sous/processor_command.rb, line 40
def manifest_file_path
  config[:node_manifest_file] ||= default_config[:node_manifest_file]
  @manifest_file_path ||= File.expand_path(File.join(Dir.pwd, config[:node_manifest_file]))
end
process_config() click to toggle source
# File lib/knife_sous/processor_command.rb, line 45
def process_config
  validate_config!
  root_namespace = RootNamespace.new
  root_namespace.instance_eval(File.read(manifest_file_path), manifest_file_path)
  root_namespace
end
root_namespace() click to toggle source
# File lib/knife_sous/processor_command.rb, line 36
def root_namespace
  @root_namespace ||= process_config
end
validate_config!() click to toggle source
# File lib/knife_sous/processor_command.rb, line 15
def validate_config!
  unless File.exists?(manifest_file_path)
    ui.fatal("Couldn't find #{manifest_file_path}")
    exit 1
  end
  unless File.readable?(manifest_file_path)
    ui.fatal("Can't read #{manifest_file_path}")
    exit 1
  end
  true
end