Class: CherrypickForPulldownPipeline

Inherits:
CherrypickingPipeline show all
Defined in:
app/models/cherrypick_for_pulldown_pipeline.rb

Overview

No longer used directly the CherrypickForPulldownPipeline was previously an automated CherrypickingPipeline which attempted to automatically lay out target plates. However it proved tricky to model all the variations in the layout the users expected, and they stopped using the pipeline. However the FlexibleCherrypickPipeline is still active, and is sub-classed from this.

Direct Known Subclasses

FlexibleCherrypickPipeline

Constant Summary collapse

ALWAYS_SHOW_RELEASE_ACTIONS =
true

Constants inherited from CherrypickingPipeline

CherrypickingPipeline::PICKED_STATES

Instance Method Summary collapse

Methods inherited from CherrypickingPipeline

#pick_information?, #robot_verified!, #update_detached_request

Methods inherited from GenotypingPipeline

#request_actions

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

#allow_tag_collision_on_tagging_task?, #completed_request_as_part_of_release_batch, #custom_message, #detach_request_from_batch, #extract_requests_from_input_params, #has_controls?, #input_labware, #is_read_length_consistent_for_batch?, #on_start_batch, #output_labware, #pick_information?, #request_actions, #request_count_in_inbox, #request_types_including_controls, #requests_in_inbox, #robot_verified!, #update_detached_request

Methods included from SharedBehaviour::Named

included

Methods included from Pipeline::BatchValidation

#validation_of_batch, #validation_of_batch_for_completion

Methods included from Uuid::Uuidable

included, #unsaved_uuid!, #uuid

Methods inherited from ApplicationRecord

convert_labware_to_receptacle_for, find_by_id_or_name, find_by_id_or_name!

Methods included from Squishify

extended

Methods included from Warren::BroadcastMessages

#broadcast, included, #queue_associated_for_broadcast, #queue_for_broadcast, #warren

Instance Method Details

#all_requests_from_submissions_selected?(requests) ⇒ Boolean

Returns:

  • (Boolean)

17
18
19
20
21
# File 'app/models/cherrypick_for_pulldown_pipeline.rb', line 17

def all_requests_from_submissions_selected?(requests)
  request_types, submissions = request_types_and_submissions_for(requests)
  matching_requests = Request.where(request_type_id: request_types, submission_id: submissions).order(:id).pluck(:id)
  requests.map(&:id).sort == matching_requests
end

#post_finish_batch(batch, user) ⇒ Object


9
10
11
# File 'app/models/cherrypick_for_pulldown_pipeline.rb', line 9

def post_finish_batch(batch, user)
  # Nothing, we don't want all the requests to be completed
end

#post_release_batch(batch, _user) ⇒ Object


13
14
15
# File 'app/models/cherrypick_for_pulldown_pipeline.rb', line 13

def post_release_batch(batch, _user)
  batch.release_pending_requests
end