Class: UltimaValidator
- Inherits:
-
ActiveModel::Validator
- Object
- ActiveModel::Validator
- UltimaValidator
- Defined in:
- app/validators/ultima_validator.rb
Direct Known Subclasses
Constant Summary collapse
- TWO_REQUESTS_MSG =
'Batches must contain exactly two requests.'- OT_RECIPE_CONSISTENT_MSG =
'OT Recipe must be the same for both requests.'
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 two requests.
Class Method Details
.validation_info ⇒ Object
Used in _pipeline_limit.html to display custom validation warnings
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/validators/ultima_validator.rb', line 7 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 two requests.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/validators/ultima_validator.rb', line 12 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 |