summaryrefslogtreecommitdiff
path: root/app/uploaders/object_storage/s3.rb
blob: 063af8b53890bcdb36392e21799ee4f5b4ac4924 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# frozen_string_literal: true

module ObjectStorage
  module S3
    def self.signed_head_url(file)
      fog_storage = ::Fog::Storage.new(file.fog_credentials)
      fog_dir = fog_storage.directories.new(key: file.fog_directory)
      fog_file = fog_dir.files.new(key: file.path)
      expire_at = ::Fog::Time.now + file.fog_authenticated_url_expiration

      fog_file.collection.head_url(fog_file.key, expire_at)
    end
  end
end