summaryrefslogtreecommitdiff
path: root/lib/gitlab/template_helper.rb
blob: f24a01e6cf53aa3895861a51024a3352f11c124c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
module Gitlab
  module TemplateHelper
    include Gitlab::Utils::StrongMemoize

    def prepare_template_environment(file)
      return unless file

      if Gitlab::ImportExport.object_storage?
        params[:import_export_upload] = ImportExportUpload.new(import_file: file)
      else
        FileUtils.mkdir_p(File.dirname(import_upload_path))
        FileUtils.copy_entry(file.path, import_upload_path)

        params[:import_source] = import_upload_path
      end
    end

    def import_upload_path
      strong_memoize(:import_upload_path) do
        Gitlab::ImportExport.import_upload_path(filename: tmp_filename)
      end
    end

    def tmp_filename
      SecureRandom.hex
    end
  end
end