Class: Pvectl::Repositories::Base Abstract
- Inherits:
-
Object
- Object
- Pvectl::Repositories::Base
- Defined in:
- lib/pvectl/repositories/base.rb
Overview
Abstract base class for repositories.
Repositories encapsulate Proxmox API communication and are responsible for converting raw API data to domain models. Each repository handles one resource type (VMs, Containers, Nodes, etc.).
Direct Known Subclasses
Apt, Backup, Capabilities, Container, Disk, Dns, Hosts, Journal, Node, Service, Snapshot, Storage, Subscription, Syslog, Task, TaskList, TaskLog, TimeConfig, Vm, Volume
Instance Method Summary collapse
-
#get(id) ⇒ Models::Base?
Gets a single resource by ID.
-
#initialize(connection) ⇒ Base
constructor
Creates repository with connection.
-
#list ⇒ Array<Models::Base>
Lists all resources.
Constructor Details
#initialize(connection) ⇒ Base
Creates repository with connection.
38 39 40 |
# File 'lib/pvectl/repositories/base.rb', line 38 def initialize(connection) @connection = connection end |
Instance Method Details
#get(id) ⇒ Models::Base?
Gets a single resource by ID.
55 56 57 |
# File 'lib/pvectl/repositories/base.rb', line 55 def get(id) raise NotImplementedError, "#{self.class}#get must be implemented" end |
#list ⇒ Array<Models::Base>
Lists all resources.
46 47 48 |
# File 'lib/pvectl/repositories/base.rb', line 46 def list raise NotImplementedError, "#{self.class}#list must be implemented" end |