gitlab-org--gitlab-foss/app/models/concerns/ci/bulk_insertable_tags.rb

25 lines
584 B
Ruby

# frozen_string_literal: true
module Ci
module BulkInsertableTags
extend ActiveSupport::Concern
BULK_INSERT_TAG_THREAD_KEY = 'ci_bulk_insert_tags'
class << self
def with_bulk_insert_tags
previous = Thread.current[BULK_INSERT_TAG_THREAD_KEY]
Thread.current[BULK_INSERT_TAG_THREAD_KEY] = true
yield
ensure
Thread.current[BULK_INSERT_TAG_THREAD_KEY] = previous
end
end
# overrides save_tags from acts-as-taggable
def save_tags
super unless Thread.current[BULK_INSERT_TAG_THREAD_KEY]
end
end
end