Module: Well::AttributeUpdater
- Defined in:
- app/models/well/attribute_updater.rb
Overview
Well::AttributeUpdater provides a collection of small objects to convert a range of qc_results to legacy well_attributes
Defined Under Namespace
Classes: Base, Concentration, GenderMarkers, Rin, SnpCount, Volume
Constant Summary collapse
- HANDLER =
Hash mapping potential QCResult#key to handlers
{ 'volume' => Volume, 'snp_count' => SnpCount, 'loci_passed' => SnpCount, 'gender_markers' => GenderMarkers, 'concentration' => Concentration, 'molarity' => Concentration, 'rin' => Rin }.freeze
Class Method Summary collapse
-
.update(well, qc_result) ⇒ void
Updates the well attributes of the provided well according to the information in the qc result.
Class Method Details
.update(well, qc_result) ⇒ void
This method returns an undefined value.
Updates the well attributes of the provided well according to the information in the qc result. It automatically:
- Identifies the attribute to update
- Scales based on the units provided
- Generates any required events
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/models/well/attribute_updater.rb', line 16 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 |