Sha256: 2464ebe495a8cca49034353a8e67d0a316ef9f301fa440ed6e077fbab3620c3b
Contents?: true
Size: 1.26 KB
Versions: 39
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true require "tmpdir" require "active_support/core_ext/string/filters" module ActiveStorage module Downloading def self.included(klass) ActiveSupport::Deprecation.warn <<~MESSAGE.squish, caller_locations(2) ActiveStorage::Downloading is deprecated and will be removed in Active Storage 6.1. Use ActiveStorage::Blob#open instead. MESSAGE end private # Opens a new tempfile in #tempdir and copies blob data into it. Yields the tempfile. def download_blob_to_tempfile #:doc: open_tempfile_for_blob do |file| download_blob_to file yield file end end def open_tempfile_for_blob tempfile = Tempfile.open([ "ActiveStorage", blob.filename.extension_with_delimiter ], tempdir) begin yield tempfile ensure tempfile.close! end end # Efficiently downloads blob data into the given file. def download_blob_to(file) #:doc: file.binmode blob.download { |chunk| file.write(chunk) } file.flush file.rewind end # Returns the directory in which tempfiles should be opened. Defaults to +Dir.tmpdir+. def tempdir #:doc: Dir.tmpdir end end end
Version data entries
39 entries across 39 versions & 4 rubygems