Sha256: af421de587aca187a9013aaaf53d0098123d57f78b95a51d3967091162ee6b48

Contents?: true

Size: 1.64 KB

Versions: 56

Compression:

Stored size: 1.64 KB

Contents

# frozen_string_literal: true

namespace :alchemy do
  namespace :generate do
    desc "Generates all thumbnails for Alchemy Pictures and Picture Ingredients."
    task thumbnails: [
      "alchemy:generate:picture_thumbnails",
      "alchemy:generate:ingredient_picture_thumbnails"
    ]

    desc "Generates thumbnails for Alchemy Pictures."
    task picture_thumbnails: :environment do
      puts "Regenerate #{Alchemy::Picture.count} picture thumbnails."
      puts "Please wait..."

      Alchemy::Picture.find_each do |picture|
        next unless picture.has_convertible_format?

        puts Alchemy::PictureThumb.generate_thumbs!(picture)
      end

      puts "Done!"
    end

    desc "Generates thumbnails for Alchemy Picture Ingredients (set ELEMENTS=element1,element2 to only generate thumbnails for a subset of elements)."
    task ingredient_picture_thumbnails: :environment do
      ingredient_pictures = Alchemy::Ingredients::Picture
        .joins(:element)
        .preload({related_object: :thumbs})
        .merge(Alchemy::Element.published)

      if ENV["ELEMENTS"].present?
        ingredient_pictures = ingredient_pictures.merge(
          Alchemy::Element.named(ENV["ELEMENTS"].split(","))
        )
      end

      puts "Regenerate #{ingredient_pictures.count} ingredient picture thumbnails."
      puts "Please wait..."

      ingredient_pictures.find_each do |ingredient_picture|
        puts ingredient_picture.picture_url
        puts ingredient_picture.thumbnail_url

        ingredient_picture.settings.fetch(:srcset, []).each do |src|
          puts ingredient_picture.picture_url(src)
        end
      end

      puts "Done!"
    end
  end
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
alchemy_cms-7.4.2 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.3.6 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.2.9 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.4.1 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.4.0 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.3.5 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.2.8 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.1.13 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.0.16 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.3.4 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.3.3 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.3.2 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.2.7 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.3.1 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.3.0 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.2.6 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.2.5 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.1.12 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.0.15 lib/tasks/alchemy/thumbnails.rake
alchemy_cms-7.2.4 lib/tasks/alchemy/thumbnails.rake