Class: RecordLoader::DescriptorLoader
- Inherits:
-
ApplicationRecordLoader
- Object
- Base
- ApplicationRecordLoader
- RecordLoader::DescriptorLoader
- Defined in:
- lib/record_loader/descriptor_loader.rb
Overview
Creates or updates the specified Descriptor. Links the created task to the appropriate task and workflow. Updates the sorter if the record already exists but has a different sorter value.
Instance Method Summary collapse
-
#create_or_update!(section_name, options) ⇒ Descriptor
Creates or updates a Descriptor record for the given section and options.
Methods inherited from ApplicationRecordLoader
Instance Method Details
#create_or_update!(section_name, options) ⇒ Descriptor
Creates or updates a Descriptor record for the given section and options. Ensures the Descriptor is linked to the correct task and workflow, and updates the sorter if needed.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/record_loader/descriptor_loader.rb', line 23 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 |