class Crowbar::Client::Command::Node::List
Implementation for the node list command
Public Instance Methods
execute()
click to toggle source
# File lib/crowbar/client/command/node/list.rb, line 34 def execute request.process do |request| case request.code when 200 formatter = Formatter::Hash.new( format: provide_format, headings: headings, values: Filter::Hash.new( filter: provide_filter, values: content_from(request) ).result ) if formatter.empty? err "No nodes" else say formatter.result end else err request.parsed_response["error"] end end end
request()
click to toggle source
# File lib/crowbar/client/command/node/list.rb, line 28 def request @request ||= Request::Node::List.new( args ) end
Protected Instance Methods
content_from(request)
click to toggle source
# File lib/crowbar/client/command/node/list.rb, line 75 def content_from(request) result = [].tap do |row| request.parsed_response["nodes"].each do |child| if options["meta"] row.push( child.slice( "name", "alias", "group", "status" ) ) else row.push( child.slice( "name" ) ) end end end result.sort do |x, y| [ x["name"], x["alias"] ] <=> [ y["name"], y["alias"] ] end end
headings()
click to toggle source
# File lib/crowbar/client/command/node/list.rb, line 60 def headings if options["meta"] [ "Name", "Alias", "Group", "Status" ] else [ "Name" ] end end