Module: Pvectl::Commands::Get::ResourceHandler Abstract
- Included in:
- Handlers::Backups, Handlers::Capabilities, Handlers::Containers, Handlers::Disks, Handlers::Dns, Handlers::Hosts, Handlers::Nodes, Handlers::Services, Handlers::Snapshots, Handlers::Storage, Handlers::Subscription, Handlers::Tasks, Handlers::Templates, Handlers::Time, Handlers::Vms, Handlers::Volume
- Defined in:
- lib/pvectl/commands/get/resource_handler.rb
Overview
Include in handler class and implement required methods.
Interface module for resource handlers.
Each resource type (nodes, vms, containers, storage) implements this interface to provide listing capabilities.
Minimal interface with two methods:
-
#list - fetches and returns model objects
-
#presenter - returns presenter for formatting
Instance Method Summary collapse
-
#list(node: nil, name: nil, **_options) ⇒ Array<Object>
Lists resources, optionally filtered by node and name.
-
#presenter ⇒ Presenters::Base
Returns the presenter for this resource type.
-
#selector_class ⇒ Class?
Returns the selector class for client-side filtering.
Instance Method Details
#list(node: nil, name: nil, **_options) ⇒ Array<Object>
Lists resources, optionally filtered by node and name.
39 40 41 |
# File 'lib/pvectl/commands/get/resource_handler.rb', line 39 def list(node: nil, name: nil, **) raise NotImplementedError, "#{self.class}#list must be implemented" end |
#presenter ⇒ Presenters::Base
Returns the presenter for this resource type.
47 48 49 |
# File 'lib/pvectl/commands/get/resource_handler.rb', line 47 def presenter raise NotImplementedError, "#{self.class}#presenter must be implemented" end |
#selector_class ⇒ Class?
Returns the selector class for client-side filtering.
Handlers that support selector-based filtering (e.g., -l status=running) should override this to return their selector class.
57 58 59 |
# File 'lib/pvectl/commands/get/resource_handler.rb', line 57 def selector_class nil end |