Class: Pvectl::Presenters::SnapshotOperationResult
- Includes:
- Formatters::ColorSupport
- Defined in:
- lib/pvectl/presenters/snapshot_operation_result.rb
Overview
Presenter for snapshot operation results.
Formats OperationResult models from snapshot operations for table/JSON/YAML output. Unlike OperationResult presenter, this handles resource hash instead of VM model.
Constant Summary
Constants included from Formatters::ColorSupport
Formatters::ColorSupport::STATUS_COLORS
Instance Method Summary collapse
-
#columns ⇒ Array<String>
Returns column headers for standard table output.
-
#extra_columns ⇒ Array<String>
Returns additional columns for wide output.
-
#extra_values(model, **_context) ⇒ Array<String>
Returns additional values for wide output.
-
#to_hash(model) ⇒ Hash
Converts result to hash for JSON/YAML output.
-
#to_row(model, **_context) ⇒ Array<String>
Converts result to table row values.
Methods included from Formatters::ColorSupport
colorize_status, enabled?, pastel
Methods inherited from Base
#tags_array, #tags_display, #template_display, #to_description, #to_wide_row, #uptime_human, #wide_columns
Instance Method Details
#columns ⇒ Array<String>
Returns column headers for standard table output.
21 22 23 |
# File 'lib/pvectl/presenters/snapshot_operation_result.rb', line 21 def columns %w[VMID NAME TYPE NODE STATUS MESSAGE] end |
#extra_columns ⇒ Array<String>
Returns additional columns for wide output.
28 29 30 |
# File 'lib/pvectl/presenters/snapshot_operation_result.rb', line 28 def extra_columns %w[TASK DURATION] end |
#extra_values(model, **_context) ⇒ Array<String>
Returns additional values for wide output.
54 55 56 57 58 59 |
# File 'lib/pvectl/presenters/snapshot_operation_result.rb', line 54 def extra_values(model, **_context) [ task_upid(model), duration_display(model) ] end |
#to_hash(model) ⇒ Hash
Converts result to hash for JSON/YAML output.
65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/pvectl/presenters/snapshot_operation_result.rb', line 65 def to_hash(model) resource = model.resource || {} { "vmid" => resource[:vmid], "name" => resource[:name], "type" => resource[:type]&.to_s, "node" => resource[:node], "operation" => model.operation&.to_s, "status" => model.status_text, "message" => model., "task_upid" => model.task_upid || model.task&.upid } end |
#to_row(model, **_context) ⇒ Array<String>
Converts result to table row values.
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/pvectl/presenters/snapshot_operation_result.rb', line 37 def to_row(model, **_context) resource = model.resource || {} [ resource[:vmid].to_s, resource[:name] || "-", resource[:type]&.to_s || "-", resource[:node] || "-", status_display(model), model. ] end |