diff --git a/app/services/topics_importer.rb b/app/services/topics_importer.rb index 1acf80432b5c40bc85c4ab2b7efd91db22467fd2..370fec90bb3e6d548794cd27f7207043792dd187 100644 --- a/app/services/topics_importer.rb +++ b/app/services/topics_importer.rb @@ -9,26 +9,25 @@ class TopicsImporter def import - relations = [] - @items.each do |learning_object| lo_topics = parse_topics ( learning_object.get_metadata_values_of "dc.subject.category" ) lo_topics.each_with_index do |topic_name, i| - next if topic_exists? topic_name + if !topic_exists? topic_name + topic = Topic.where(name: topic_name).new + create_relations(topic_name) + end - topic = Topic.where(name: topic_name).new topic.learning_objects << learning_object - create_relations(lo_topics[i - 1], topic_name) unless i == 0 @@topics[topic_name] = topic end separate_relations() end - Topic.import @@topics.values + Topic.import @@topics.values, recursive: true import_topics_relations() end @@ -36,9 +35,8 @@ class TopicsImporter private - def create_relations parent_name, child_name - @@topics_relations.push(parent_name) - @@topics_relations.push(child_name) + def create_relations topic_name + @@topics_relations << topic_name end def separate_relations