Class: ScoutAgent::Assignment::Status
- Inherits:
-
ScoutAgent::Assignment
- Object
- ScoutAgent::Assignment
- ScoutAgent::Assignment::Status
- Defined in:
- lib/scout_agent/assignment/status.rb
Instance Attribute Summary
Attributes inherited from ScoutAgent::Assignment
#group, #other_args, #switches, #user
Instance Method Summary collapse
Methods inherited from ScoutAgent::Assignment
#initialize, #prepare_and_execute
Methods included from Tracked
#clear_status, #force_status_database_reload, #status, #status_database, #status_log
Constructor Details
This class inherits a constructor from ScoutAgent::Assignment
Instance Method Details
#abort_with_missing_db ⇒ Object
39 40 41 42 |
# File 'lib/scout_agent/assignment/status.rb', line 39 def abort_with_missing_db warn "Statuses database could not be loaded." exit 1 end |
#execute ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/scout_agent/assignment/status.rb', line 7 def execute unless db = status_database abort_with_missing_db end puts "Status" puts "======" puts statuses = db.current_statuses if statuses.empty? puts "#{ScoutAgent.proper_agent_name} is not currently running." else puts "#{ScoutAgent.proper_agent_name} is running:" puts columns = [ %w[Process name], %w[PID pid], %w[Current\ Task status], %w[Last\ Updated last_updated_at] ].map { |title, data| [title] + statuses.map { |row| row[data] } } sizes = columns.map { |column| column.map { |field| field.to_s.size }.max } format = sizes.map { |size| "%-#{size}s" }.join(" ") puts format % columns.map { |column| column.first } puts format % sizes.map { |size| "-" * size } columns.first[1..-1]. zip(*columns[1..-1].map { |c| c[1..-1] }) do |row| puts format % row end end end |