Like an ActiveStorage::Variant, but keeps detail about the variant in the database as an ActiveStorage::VariantRecord. This is only used if `ActiveStorage.track_variants` is enabled.

Methods

Attributes

[R] blob
[R] variation

Class Public methods

new(blob, variation)

# File activestorage/app/models/active_storage/variant_with_record.rb, line 9
def initialize(blob, variation)
  @blob, @variation = blob, ActiveStorage::Variation.wrap(variation)
end

Instance Public methods

image()

# File activestorage/app/models/active_storage/variant_with_record.rb, line 26
def image
  record&.image
end

process()

# File activestorage/app/models/active_storage/variant_with_record.rb, line 18
def process
  transform_blob { |image| create_or_find_record(image: image) } unless processed?
end

processed()

# File activestorage/app/models/active_storage/variant_with_record.rb, line 13
def processed
  process
  self
end

processed?()

# File activestorage/app/models/active_storage/variant_with_record.rb, line 22
def processed?
  record.present?
end