class method self.compose

Ruby on Rails 7.1.6

Since v7.0.10

Available in: v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

self.compose(blobs, filename:, content_type: nil, metadata: nil)

Concatenate multiple blobs into a single “composed” blob.

Parameters

blobs req
filename keyreq
content_type key = nil
metadata key = nil
Source
# File activestorage/app/models/active_storage/blob.rb, line 150
    def compose(blobs, filename:, content_type: nil, metadata: nil)
      raise ActiveRecord::RecordNotSaved, "All blobs must be persisted." if blobs.any?(&:new_record?)

      content_type ||= blobs.pluck(:content_type).compact.first

      new(filename: filename, content_type: content_type, metadata: metadata, byte_size: blobs.sum(&:byte_size)).tap do |combined_blob|
        combined_blob.compose(blobs.pluck(:key))
        combined_blob.save!
      end
    end

Defined in activestorage/app/models/active_storage/blob.rb line 150 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveStorage::Blob

Type at least 2 characters to search.

↑↓ navigate · open · esc close