Class: OodReservations::Query
- Inherits:
-
Object
- Object
- OodReservations::Query
- Defined in:
- lib/ood_reservations/query.rb
Overview
Object used to communicate with a batch server to retrieve reservation information for current user
Direct Known Subclasses
Defined Under Namespace
Classes: Error
Class Method Summary collapse
-
.build(**kwargs) ⇒ Query?
Build a query object choosing the class of the object based on the servers available in the cluster object.
Instance Method Summary collapse
-
#initialize(cluster:, **_) ⇒ Query
constructor
A new instance of Query.
-
#reservation(id:) ⇒ Reservation
abstract
Queries the batch server for a given reservation.
-
#reservations ⇒ Array<Reservation>
abstract
Queries the batch server for a list of reservations.
Constructor Details
#initialize(cluster:, **_) ⇒ Query
Returns a new instance of Query.
23 24 25 |
# File 'lib/ood_reservations/query.rb', line 23 def initialize(cluster:, **_) @cluster = cluster end |
Class Method Details
.build(**kwargs) ⇒ Query?
Build a query object choosing the class of the object based on the servers available in the cluster object
14 15 16 17 18 19 20 |
# File 'lib/ood_reservations/query.rb', line 14 def self.build(**kwargs) if Queries::TorqueMoab.match(**kwargs) Queries::TorqueMoab.new(**kwargs) else nil end end |
Instance Method Details
#reservation(id:) ⇒ Reservation
This method is abstract.
This should be implemented by the adapter
Queries the batch server for a given reservation
31 32 33 |
# File 'lib/ood_reservations/query.rb', line 31 def reservation(id:) raise NotImplementedError end |
#reservations ⇒ Array<Reservation>
This method is abstract.
This should be implemented by the adapter
Queries the batch server for a list of reservations
38 39 40 |
# File 'lib/ood_reservations/query.rb', line 38 def reservations raise NotImplementedError end |