Class: SolidObserver::Queries::ExecutionFinder
- Inherits:
-
Object
- Object
- SolidObserver::Queries::ExecutionFinder
- Defined in:
- lib/solid_observer/queries/execution_finder.rb
Constant Summary collapse
- EXECUTION_TYPES =
[ "SolidQueue::ReadyExecution", "SolidQueue::ScheduledExecution", "SolidQueue::ClaimedExecution", "SolidQueue::FailedExecution" ].freeze
- STATUS_TO_EXECUTION_TYPE =
{ "ready" => "SolidQueue::ReadyExecution", "scheduled" => "SolidQueue::ScheduledExecution", "claimed" => "SolidQueue::ClaimedExecution", "failed" => "SolidQueue::FailedExecution" }.freeze
Class Method Summary collapse
Class Method Details
.find_any(id) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/solid_observer/queries/execution_finder.rb', line 20 def self.find_any(id) EXECUTION_TYPES.each do |const_name| execution = const_name.safe_constantize&.find_by(id: id) return execution if execution end nil end |
.find_by_status(id, status) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/solid_observer/queries/execution_finder.rb', line 28 def self.find_by_status(id, status) const_name = STATUS_TO_EXECUTION_TYPE[status.to_s.downcase] return nil unless const_name const_name.safe_constantize&.find_by(id: id) end |
.find_failed(id) ⇒ Object
35 36 37 38 39 |
# File 'lib/solid_observer/queries/execution_finder.rb', line 35 def self.find_failed(id) return nil unless defined?(SolidQueue::FailedExecution) SolidQueue::FailedExecution.find_by(id: id) end |