Sha256: 8ceec5099b31e24f7c69c4ffda250db1f899fb38d2990c74b564139f77b0fa6c
Contents?: true
Size: 948 Bytes
Versions: 2
Compression:
Stored size: 948 Bytes
Contents
# frozen_string_literal: true module Alchemy class Picture < ActiveRecord::Base 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alchemy-dragonfly-s3-3.6.6 | app/models/alchemy/picture/s3_url.rb |
alchemy-dragonfly-s3-3.6.5 | app/models/alchemy/picture/s3_url.rb |