Class: Chef::Knife::Core::NodePresenter
- Inherits:
-
GenericPresenter
- Object
- GenericPresenter
- Chef::Knife::Core::NodePresenter
- Defined in:
- lib/chef/knife/core/node_presenter.rb
Overview
Chef::Knife::Core::NodePresenter
A customized presenter for Chef::Node objects. Supports variable-length output formats for displaying node data
Instance Attribute Summary
Attributes inherited from GenericPresenter
Instance Method Summary collapse
- #key(key_text) ⇒ Object
-
#summarize(data) ⇒ Object
Converts a Chef::Node object to a string suitable for output to a terminal.
Methods inherited from GenericPresenter
#extract_nested_value, #format, #format_cookbook_list_for_display, #format_for_display, #format_list_for_display, #initialize, #interchange?, #parse_format_option, #text_format
Constructor Details
This class inherits a constructor from Chef::Knife::Core::GenericPresenter
Instance Method Details
#key(key_text) ⇒ Object
98 99 100 |
# File 'lib/chef/knife/core/node_presenter.rb', line 98 def key(key_text) ui.color(key_text, :cyan) end |
#summarize(data) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/chef/knife/core/node_presenter.rb', line 60 def summarize(data) if data.kind_of?(Chef::Node) node = data # special case ec2 with their split horizon whatsis. ip = (node[:ec2] && node[:ec2][:public_ipv4]) || node[:ipaddress] summarized=<<-SUMMARY #{ui.color('Node Name:', :bold)} #{ui.color(node.name, :bold)} #{key('Environment:')} #{node.chef_environment} #{key('FQDN:')} #{node[:fqdn]} #{key('IP:')} #{ip} #{key('Run List:')} #{node.run_list} #{key('Roles:')} #{Array(node[:roles]).join(', ')} #{key('Recipes:')} #{Array(node[:recipes]).join(', ')} #{key('Platform:')} #{node[:platform]} #{node[:platform_version]} SUMMARY if config[:medium_output] || config[:long_output] summarized +=<<-MORE #{key('Attributes:')} #{text_format(node.normal_attrs)} MORE end if config[:long_output] summarized +=<<-MOST #{key('Default Attributes:')} #{text_format(node.default_attrs)} #{key('Override Attributes:')} #{text_format(node.override_attrs)} #{key('Automatic Attributes (Ohai Data):')} #{text_format(node.automatic_attrs)} MOST end summarized else super end end |