Sha256: 1ad4c6e0edd6e7bc2f31fb8d2f2f912633df1b125bd360d4262cee6c111d2bfe
Contents?: true
Size: 940 Bytes
Versions: 4
Compression:
Stored size: 940 Bytes
Contents
# frozen_string_literal: true module Alchemy class Picture < BaseRecord class S3Url attr_reader :variant # @param [Alchemy::PictureVariant] # def initialize(variant) raise ArgumentError, "Variant missing!" if variant.nil? @variant = variant end def call(*) return variant.image.remote_url unless processible_image? ::Dragonfly.app(:alchemy_pictures).remote_url_for(uid) end private def processible_image? variant.image.is_a?(::Dragonfly::Job) end def uid signature = PictureThumb::Signature.call(variant) thumb = variant.picture.thumbs.detect { |t| t.signature == signature } if thumb uid = thumb.uid else uid = PictureThumb::Uid.call(signature, variant) PictureThumb::Create.call(variant, signature, uid) end uid end end end end
Version data entries
4 entries across 4 versions & 1 rubygems