module Lab::Loaders::LoaderMixin
Constants
- CONCEPT_CLASS_TEST
- CONCEPT_DATATYPE_CODED
Public Class Methods
included(_mod)
click to toggle source
# File lib/tasks/loaders/loader_mixin.rb, line 6 def self.included(_mod) User.current = User.find_by_username('admin') || User.first Location.current = Location.find_by_name('Registration') || Location.first end
Public Instance Methods
add_concept_to_set(set_concept_id:, concept_id:)
click to toggle source
# File lib/tasks/loaders/loader_mixin.rb, line 38 def add_concept_to_set(set_concept_id:, concept_id:) set = ConceptSet.find_by(concept_set: set_concept_id, concept_id: concept_id) return set if set ConceptSet.create!(concept_set: set_concept_id, concept_id: concept_id, creator: User.current.user_id, date_created: Time.now) end
data_path(filename)
click to toggle source
# File lib/tasks/loaders/loader_mixin.rb, line 48 def data_path(filename) "#{__dir__}/data/#{filename}" end
find_or_create_concept(name, is_set: false)
click to toggle source
# File lib/tasks/loaders/loader_mixin.rb, line 14 def find_or_create_concept(name, is_set: false) # Filter out concept_names with voided concepts concept = ConceptName.joins(:concept).find_by_name(name) return concept if concept ConceptName.create!( concept: Concept.create!( short_name: name, datatype_id: CONCEPT_DATATYPE_CODED, class_id: CONCEPT_CLASS_TEST, is_set: is_set, uuid: SecureRandom.uuid, creator: User.current.user_id, date_created: Time.now ), name: name, locale: 'en', concept_name_type: 'FULLY_SPECIED', uuid: SecureRandom.uuid, creator: User.current.user_id, date_created: Time.now ) end