Class: RecordLoader::TagGroupLoader
- Inherits:
-
ApplicationRecordLoader
- Object
- Base
- ApplicationRecordLoader
- RecordLoader::TagGroupLoader
- Defined in:
- lib/record_loader/tag_group_loader.rb
Overview
Creates or updates the specified tag groups.
Instance Method Summary collapse
-
#create_or_update!(section_name, options) ⇒ TagGroup
Creates or updates a TagGroup with the given section name and options.
Methods inherited from ApplicationRecordLoader
Instance Method Details
#create_or_update!(section_name, options) ⇒ TagGroup
Creates or updates a TagGroup with the given section name and options.
- If the name for the TagGroup is not provided in options, it defaults to the YAML section name, which must be unique in config_folder.
- If the TagGroup does not have tags, it creates the associated tags based on the provided options.
- If the TagGroup exists and has a different adapter_type_id, it updates the adapter_type_id using the adapter_type_name provided in options.
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/tag_group_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 |