Class: WorkCompletion::TubeCompletion

Inherits:
LabwareCompletion show all
Defined in:
app/models/work_completion/tube_completion.rb

Overview

Class WorkCompletion::TubeCompletion provides the business logic for passing tubes, especially in the Limber pipelines. This has been pulled out of WorkCompletion itself to allow for separate behaviour for plates and tubes.

Author:

  • Genome Research Ltd.

Instance Attribute Summary

Attributes inherited from LabwareCompletion

#order_ids, #submission_ids, #target_labware, #work_completion

Instance Method Summary collapse

Methods inherited from LabwareCompletion

#fire_events, #initialize, #pass_and_link_up_requests, #process

Constructor Details

This class inherits a constructor from WorkCompletion::LabwareCompletion

Instance Method Details

#connect_requestsObject



11
12
13
14
# File 'app/models/work_completion/tube_completion.rb', line 11

def connect_requests
  detect_upstream_requests.each { |upstream| pass_and_link_up_requests(target_labware.receptacle, upstream) }
  @order_ids.uniq!
end

#detect_upstream_requestsObject



16
17
18
# File 'app/models/work_completion/tube_completion.rb', line 16

def detect_upstream_requests
  CustomerRequest.includes(WorkCompletion::REQUEST_INCLUDES).where(id: target_labware.aliquots.pluck(:request_id))
end