arg_name 'FILTER', :optional => true
command :list do |c|
c.flag 'print', :desc => 'What attributes to print (optional)'
+ c.switch 'disabled', :desc => 'Include disabled nodes in the list.', :negatable => false
c.action do |global_options,options,args|
puts
+ if options['disabled']
+ manager.load(:include_disabled => true) # reload, with disabled nodes
+ end
if options['print']
print_node_properties(manager.filter(args), options['print'])
else
node.evaluate
value = properties.collect{|prop|
if node[prop].nil?
- "[null]"
+ "null"
elsif node[prop] == ""
- "[empty]"
+ "empty"
else
node[prop]
end
#
# load .json configuration files
#
- def load
+ def load(options = {})
@provider_dir = Path.provider
# load base
@nodes[name] = apply_inheritance(node)
end
+ # remove disabled nodes
+ unless options[:include_disabled]
+ @nodes.select! do |name, node|
+ if node.enabled
+ true
+ else
+ log 2, :skipping, "disabled node #{name}."
+ false
+ end
+ end
+ end
+
# validate
validate_provider(@provider)
end