Class: CherrypickingPipeline

Inherits:
Pipeline show all
Includes:
Pipeline::GroupByParent, Pipeline::InboxGroupedBySubmission
Defined in:
app/models/cherrypicking_pipeline.rb

Overview

Superclass for all Cherrypicking pipelines. Not used directly

Direct Known Subclasses

CherrypickPipeline

Constant Summary collapse

PICKED_STATES =
%w[completed released].freeze

Instance Method Summary collapse

Methods included from Pipeline::GroupByParent

#extract_requests_from_input_params, #input_labware, #output_labware, #requests_in_inbox

Methods included from Pipeline::InboxGroupedBySubmission

included

Methods inherited from Pipeline

#all_requests_from_submissions_selected?, #completed_request_as_part_of_release_batch, #detach_request_from_batch, #extract_requests_from_input_params, #input_labware, #is_flowcell_type_consistent_for_batch?, #is_read_length_consistent_for_batch?, #on_start_batch, #output_labware, #post_finish_batch, #post_release_batch, #request_count_in_inbox, #request_types_including_controls, #requests_in_inbox

Methods included from SharedBehaviour::Named

included

Methods included from Pipeline::BatchValidation

#validation_of_batch

Methods included from Uuid::Uuidable

included, #unsaved_uuid!, #uuid

Methods inherited from ApplicationRecord

alias_association, convert_labware_to_receptacle_for, find_by_id_or_name, find_by_id_or_name!

Methods included from Squishify

extended

Instance Method Details

#pick_information?(batch) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'app/models/cherrypicking_pipeline.rb', line 18

def pick_information?(batch)
  PICKED_STATES.include?(batch.state)
end

#request_actionsObject



22
23
24
# File 'app/models/cherrypicking_pipeline.rb', line 22

def request_actions
  %i[fail remove]
end

#robot_verified!(batch) ⇒ Object



14
15
16
# File 'app/models/cherrypicking_pipeline.rb', line 14

def robot_verified!(batch)
  batch.requests.each { |request| request.reduce_source_volume if request.respond_to?(:reduce_source_volume) }
end