Sha256: 6180fd2dd794b080cf949a1332abdb8f7fa5281c452fd2c543fa4d3fcebb9faa

Contents?: true

Size: 604 Bytes

Versions: 2

Compression:

Stored size: 604 Bytes

Contents

# frozen_string_literal: true

module Alchemy
  class PictureThumb < ActiveRecord::Base
    class Signature
      # Returns a unique image process signature
      #
      # @param [Alchemy::PictureVariant]
      #
      # @return [String]
      def self.call(variant)
        steps_without_fetch = variant.image.steps.reject do |step|
          step.is_a?(::Dragonfly::Job::Fetch)
        end

        steps_with_id = [[variant.picture.id]] + steps_without_fetch
        job_string = steps_with_id.map(&:to_a).to_dragonfly_unique_s

        Digest::SHA1.hexdigest(job_string)
      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_thumb/signature.rb
alchemy-dragonfly-s3-3.6.5 app/models/alchemy/picture_thumb/signature.rb