# frozen_string_literal: true module GalleryHelper def displayable_pdf?(blob) blob.content_type.in?(AUTHORIZED_PDF_TYPES) end def displayable_image?(blob) blob.variable? && blob.content_type.in?(AUTHORIZED_IMAGE_TYPES) end def representation_url_for(attachment) return variant_url_for(attachment) if displayable_image?(attachment.blob) preview_url_for(attachment) if displayable_pdf?(attachment.blob) end def preview_url_for(attachment) attachment.blob.preview_image.url.presence || 'pdf-placeholder.png' rescue StandardError 'pdf-placeholder.png' end def variant_url_for(attachment) variant = attachment.variant(resize_to_limit: [400, 400]) variant.key.present? ? variant.processed.url : 'apercu-indisponible.png' rescue StandardError 'apercu-indisponible.png' end def blob_url(attachment) variant = attachment.variant(resize_to_limit: [2000, 2000]) attachment.blob.content_type.in?(RARE_IMAGE_TYPES) && variant.key.present? ? variant.processed.url : attachment.blob.url rescue StandardError attachment.blob.url end end