Class: ElementAvitiValidator
- Inherits:
-
ActiveModel::Validator
- Object
- ActiveModel::Validator
- ElementAvitiValidator
- Defined in:
- app/validators/element_aviti_validator.rb
Class Method Summary collapse
-
.validation_info ⇒ Object
Used in _pipeline_limit.html to display custom validation warnings.
Instance Method Summary collapse
-
#validate(record) ⇒ Object
Validates that a batch contains the correct number of requests based on read length.
Class Method Details
.validation_info ⇒ Object
Used in _pipeline_limit.html to display custom validation warnings
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/validators/element_aviti_validator.rb', line 4 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
#validate(record) ⇒ Object
Validates that a batch contains the correct number of requests based on read length.
- If any request has a read length of 300, the batch must contain exactly one request.
- Otherwise, the batch must contain exactly two requests.
Adds errors to the record if these conditions are not met.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/validators/element_aviti_validator.rb', line 14 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 |