Sha256: 4658ea6fbcbba53c53b10ff9c3ee7de8426cbc628db897a7882676f701f059ab

Contents?: true

Size: 962 Bytes

Versions: 2

Compression:

Stored size: 962 Bytes

Contents

module Fogged
  module Resources
    class AWSThumbnailJob < ActiveJob::Base
      def perform(resource)
        return unless Fogged.minimagick_enabled

        step = 100 / Fogged.thumbnail_sizes.size
        Fogged.thumbnail_sizes.each_with_index do |size, index|
          Tempfile.open(["thumbnail", ".png"]) do |t|
            MiniMagick::Tool::Convert.new do |c|
              c << resource.url
              c.resize("#{size}^")
              c.gravity("center")
              c.extent("#{size}")
              c << t.path
            end

            Fogged.resources.files.create(
              :key => resource.send(:fogged_name_for, :thumbnails, index),
              :body => File.read(t.path),
              :public => true,
              :content_type => Mime::PNG.to_s
            )
          end

          resource.increment!(:encoding_progress, step)
        end
        resource.update!(:encoding_progress => 100)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fogged-0.0.6 app/jobs/fogged/resources/aws_thumbnail_job.rb
fogged-0.0.5 app/jobs/fogged/resources/aws_thumbnail_job.rb