diff options
author | elijah <elijah@riseup.net> | 2013-05-27 13:59:02 -0700 |
---|---|---|
committer | elijah <elijah@riseup.net> | 2013-05-27 13:59:02 -0700 |
commit | 3a77ab2c9cc82853ef5b0add4f15227cc6d696a9 (patch) | |
tree | 2407402e0e238a3e1e2a6349767a6fa2c01857dd | |
parent | 32e377d905462fa2c20dde9b59532297a7f3aea6 (diff) | |
download | leap_cli-3a77ab2c9cc82853ef5b0add4f15227cc6d696a9.tar.gz leap_cli-3a77ab2c9cc82853ef5b0add4f15227cc6d696a9.tar.bz2 |
added support for disabling nodes
-rw-r--r-- | lib/leap_cli/commands/list.rb | 8 | ||||
-rw-r--r-- | lib/leap_cli/config/manager.rb | 14 |
2 files changed, 19 insertions, 3 deletions
diff --git a/lib/leap_cli/commands/list.rb b/lib/leap_cli/commands/list.rb index 4ff2367..7e803d4 100644 --- a/lib/leap_cli/commands/list.rb +++ b/lib/leap_cli/commands/list.rb @@ -13,8 +13,12 @@ module LeapCli; module Commands 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 @@ -39,9 +43,9 @@ module LeapCli; module Commands node.evaluate value = properties.collect{|prop| if node[prop].nil? - "[null]" + "null" elsif node[prop] == "" - "[empty]" + "empty" else node[prop] end diff --git a/lib/leap_cli/config/manager.rb b/lib/leap_cli/config/manager.rb index 0d14541..1f81166 100644 --- a/lib/leap_cli/config/manager.rb +++ b/lib/leap_cli/config/manager.rb @@ -17,7 +17,7 @@ module LeapCli # # load .json configuration files # - def load + def load(options = {}) @provider_dir = Path.provider # load base @@ -47,6 +47,18 @@ module LeapCli @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 |