Class: Pvectl::Presenters::OperationResult Abstract
- Includes:
- Formatters::ColorSupport
- Defined in:
- lib/pvectl/presenters/operation_result.rb,
sig/pvectl/presenters/operation_result.rbs
Overview
Subclass and implement columns, to_row, extra_values, to_hash.
Base presenter for lifecycle operation results.
Provides shared formatting helpers (status colors, task UPID, duration) for subclasses like VmOperationResult and ContainerOperationResult.
Direct Known Subclasses
ContainerOperationResult, NodeOperationResult, VmOperationResult, VolumeOperationResult
Constant Summary
Constants included from Formatters::ColorSupport
Formatters::ColorSupport::STATUS_COLORS
Instance Method Summary collapse
-
#colorize(text, color) ⇒ String
Colorizes text using Pastel.
-
#duration_display(model) ⇒ String
Returns formatted duration.
-
#status_display(model) ⇒ String
Returns colored status display.
-
#task_upid(model) ⇒ String
Returns task UPID or dash.
Methods included from Formatters::ColorSupport
colorize_status, enabled?, pastel
Methods inherited from Base
#columns, #extra_columns, #extra_values, #format_bytes, #format_firewall, #format_firewall_rules, #format_task_history, #resource, #tags_array, #tags_display, #template_display, #to_description, #to_hash, #to_row, #to_wide_row, #uptime_human, #wide_columns
Instance Method Details
#colorize(text, color) ⇒ String
Colorizes text using Pastel.
55 56 57 58 |
# File 'lib/pvectl/presenters/operation_result.rb', line 55 def colorize(text, color) pastel = Formatters::ColorSupport.pastel(explicit_flag: nil) pastel.public_send(color, text) end |
#duration_display(model) ⇒ String
Returns formatted duration.
43 44 45 46 47 48 |
# File 'lib/pvectl/presenters/operation_result.rb', line 43 def duration_display(model) duration = model.task&.duration return "-" unless duration "#{duration.to_f.round(1)}s" end |
#status_display(model) ⇒ String
Returns colored status display.
21 22 23 24 25 26 27 28 29 |
# File 'lib/pvectl/presenters/operation_result.rb', line 21 def status_display(model) case model.status_text when "Success" then colorize(model.status_text, :green) when "Failed" then colorize(model.status_text, :red) when "Pending" then colorize(model.status_text, :yellow) when "Partial" then colorize(model.status_text, :bright_yellow) else model.status_text end end |
#task_upid(model) ⇒ String
Returns task UPID or dash.
35 36 37 |
# File 'lib/pvectl/presenters/operation_result.rb', line 35 def task_upid(model) model.task_upid || model.task&.upid || "-" end |