class InstitutionImporter attr_accessor :items def initialize @names = [] @learning_objects = [] end def import @items.each do |learning_object| publisher = learning_object.get_metadata_value_of 'dc.creator' if publisher.nil? institution = Institution.where(name: "Banco Internacional de Objetos Educacionais").first_or_create elsif !institution_exists?(publisher) institution = Institution.new(name: publisher) institution.save @names << publisher end learning_object.publisher = institution learning_object.save end end private def institution_exists?(publisher) exists = @names.include? publisher unless exists exists = Institution.exists?(name: publisher) @names << publisher if exists end exists end end