Sha256: aad0a9b57e9c4126ad7d9e5fc5b03500846123a24278ca3f8f94f13f00741a72

Contents?: true

Size: 774 Bytes

Versions: 9

Compression:

Stored size: 774 Bytes

Contents

module Slices
  module Tasks

    def self.remove_all_unused_styles
      Asset.all.each do |asset|
        remove_unused_styles(asset)
      end
    end

    def self.remove_unused_styles(asset)
      asset.remove_attribute :dimensions

      used_styles = asset.file_dimensions.symbolize_keys.keys << :original
      styles_to_clear = asset.file.styles.keys - used_styles
      asset.file.clear(*styles_to_clear)
      asset.save
    end
  end
end

namespace :slices do
  namespace :assets do

    desc "Mark assets for reprocessing"
    task reprocess: :environment do
      Asset.update_all(file_dimensions: {})
    end

    desc "Remove unused asset styles"
    task remove_unused_styles: :environment do
      Slices::Tasks.remove_all_unused_styles
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
slices-2.0.2 lib/tasks/assets.rake
slices-2.0.1 lib/tasks/assets.rake
slices-2.0.0 lib/tasks/assets.rake
slices-1.0.5 lib/tasks/assets.rake
slices-1.0.4 lib/slices/tasks/assets.rake
slices-1.0.3 lib/slices/tasks/assets.rake
slices-1.0.2 lib/slices/tasks/assets.rake
slices-1.0.1 lib/slices/tasks/assets.rake
slices-1.0.0 lib/slices/tasks/assets.rake