Class: Pvectl::Commands::Top::Handlers::Vms

Inherits:
Object
  • Object
show all
Includes:
ResourceHandler
Defined in:
lib/pvectl/commands/top/handlers/vms.rb

Overview

Handler for Top command VM metrics display.

Wraps Get::Handlers::Vms to fetch VM data and pairs it with TopVm presenter for metrics-focused output.

Examples:

Using via ResourceRegistry

handler = Top::ResourceRegistry.for("vms")
vms = handler.list(sort: "cpu")
presenter = handler.presenter

See Also:

Instance Method Summary collapse

Constructor Details

#initialize(get_handler: nil) ⇒ Vms

Creates handler with optional Get handler for dependency injection.

Parameters:

  • get_handler (Get::Handlers::Vms, nil) (defaults to: nil)

    handler (default: create new)



26
27
28
# File 'lib/pvectl/commands/top/handlers/vms.rb', line 26

def initialize(get_handler: nil)
  @get_handler = get_handler
end

Instance Method Details

#list(sort: nil, **_) ⇒ Array<Models::Vm>

Lists VMs with optional sorting.

Parameters:

  • sort (String, nil) (defaults to: nil)

    sort field (cpu, memory, disk)

Returns:



34
35
36
# File 'lib/pvectl/commands/top/handlers/vms.rb', line 34

def list(sort: nil, **_)
  get_handler.list(sort: sort)
end

#presenterPresenters::TopVm

Returns Top-specific presenter for VMs.

Returns:



41
42
43
# File 'lib/pvectl/commands/top/handlers/vms.rb', line 41

def presenter
  Presenters::TopVm.new
end