Class: StateChanger::TubeRack
- Inherits:
-
Base
- Object
- Base
- StateChanger::TubeRack
- Defined in:
- app/models/state_changer/tube_rack.rb
Overview
Handles the basic transitions of a tube rack
Constant Summary collapse
- PASSED_TARGET_STATE =
%w[passed].freeze
- TRANSFER_REQUEST_FILTER_STATES =
%w[failed cancelled].freeze
Instance Method Summary collapse
-
#update_labware_state ⇒ void
Follows app/models/state_changer/tube_base.rb.
Instance Method Details
#update_labware_state ⇒ void
This method returns an undefined value.
Follows app/models/state_changer/tube_base.rb. Updates the state of all labware associated with the tube rack.
Iterates through all racked tubes in the labware and updates their associated requests and transfer requests.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'app/models/state_changer/tube_rack.rb', line 15 do # NOTE: The following attribute is not required for Microarray Genotyping. # I think this might be broken and suggests that there should be separate classes for project: one for # next-gen sequencing that includes this attribute in it's metadata, and one for microarray genotyping # that doesn't. include ProjectManager::Associations include BudgetDivision::Associations custom_attribute(:project_cost_code, required: true) custom_attribute(:funding_comments) custom_attribute(:collaborators) custom_attribute(:external_funding_source) custom_attribute(:sequencing_budget_cost_centre) custom_attribute(:project_funding_model, in: PROJECT_FUNDING_MODELS) custom_attribute(:gt_committee_tracking_id) before_validation do |record| record.project_cost_code = nil if record.project_cost_code.blank? record.project_funding_model = nil if record.project_funding_model.blank? end end |