Sha256: 6f9e84b50fcd916e8ea5ad01fbd9b0efcc522b56fe7893f426663c35f0770bea
Contents?: true
Size: 953 Bytes
Versions: 19
Compression:
Stored size: 953 Bytes
Contents
# frozen_string_literal: true class Avo::Fields::Common::Files::ViewType::GridItemComponent < Avo::BaseComponent attr_reader :field, :resource def initialize(field:, resource:, file: nil, extra_classes: nil) @file = file @field = field @resource = resource @extra_classes = extra_classes end def id field.id end def file @file || field.value.attachment rescue nil end def is_image? file.image? || field.is_image rescue false end def is_audio? file.audio? || field.is_audio rescue false end def is_video? file.video? || field.is_video rescue false end def render? record_persisted? end # If record is not persistent blob is automatically destroyed otherwise it can be "lost" on storage def record_persisted? return true if @resource.record.persisted? ActiveStorage::Blob.destroy(file.blob_id) if file.blob_id.present? false end end
Version data entries
19 entries across 19 versions & 1 rubygems