Class: SequencescapeExcel::SpecialisedField::BioscanControlType
- Inherits:
-
ControlType
- Object
- ControlType
- SequencescapeExcel::SpecialisedField::BioscanControlType
- Includes:
- Base
- Defined in:
- app/sequencescape_excel/sequencescape_excel/specialised_field/bioscan_control_type.rb
Overview
Same behaviour as base control type but using a different range definition for the allowed control types used in Bioscan. We also need to validate the supplier name starts with CONTROL_ when a control type is set. We validate well restriction if control type is set: 'pcr positive' or 'pcr negative' cannot be in H12 'lysate negative' control (if present) can only be in H12
Instance Attribute Summary collapse
-
#supplier_name ⇒ Object
Returns the value of attribute supplier_name.
-
#well ⇒ Object
Returns the value of attribute well.
Attributes included from Base
#sample_manifest_asset, #value
Instance Method Summary collapse
Methods included from Base
Methods inherited from ControlType
#check_control_type_matches_enum, #update
Instance Attribute Details
#supplier_name ⇒ Object
Returns the value of attribute supplier_name.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/sequencescape_excel/sequencescape_excel/specialised_field/bioscan_control_type.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 |
#well ⇒ Object
Returns the value of attribute well.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/sequencescape_excel/sequencescape_excel/specialised_field/bioscan_control_type.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 |
Instance Method Details
#link(other_fields) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/sequencescape_excel/sequencescape_excel/specialised_field/bioscan_control_type.rb', line 21 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 |