Class: RecordLoader::TaskLoader
- Inherits:
-
ApplicationRecordLoader
- Object
- Base
- ApplicationRecordLoader
- RecordLoader::TaskLoader
- Defined in:
- lib/record_loader/task_loader.rb
Overview
Creates the specified Task if they are not present
Instance Method Summary collapse
-
#create_or_update!(section_name, options) ⇒ Task?
Creates a Task with the given name and options.
Methods inherited from ApplicationRecordLoader
Instance Method Details
#create_or_update!(section_name, options) ⇒ Task?
Creates a Task with the given name and options.
This method first retrieves the associated Workflow by its name. If the Workflow
it logs a warning and returns nil in development, staging, or cucumber environments.
In all other environments, it raises an ActiveRecord::RecordNotFound exception.
If the Workflow is found, it assigns its ID to the pipeline_workflow_id attribute
and creates or updates the Task.
development, staging, or cucumber.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/record_loader/task_loader.rb', line 25 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 |