Sha256: 973f1dfdb405bedb12cc17d3167502eb812ceb083613687783aee1f661450d55

Contents?: true

Size: 732 Bytes

Versions: 7

Compression:

Stored size: 732 Bytes

Contents

require 'ruby-progressbar'

namespace :assets do
  desc 'Refresh carrierwave assets versions by model (CLASS=)'
  task :reprocess => :environment do
    name = (ENV['CLASS'] || ENV['class'] || 'Asset').to_s
    klass = name.safe_constantize

    raise "Cannot find a constant with the #{name} specified in the argument string" if klass.nil?

    pbar = ProgressBar.create(:title => name, :total => klass.count, :format => '%c of %C - %a %e |%b>>%i| %p%% %t')
    pbar.progress_mark = '='

    klass.find_each do |item|
      begin
        item.data.recreate_versions!
        pbar.increment
      rescue => e
        puts "ERROR recreate_versions for #{name} - #{item.id}: #{e.message}"
      end
    end

    pbar.finish
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ab_admin-0.2.3 lib/tasks/assets.rake
ab_admin-0.2.2 lib/tasks/assets.rake
ab_admin-0.2.1 lib/tasks/assets.rake
ab_admin-0.2.0 lib/tasks/assets.rake
ab_admin-0.1.2 lib/tasks/assets.rake
ab_admin-0.1.1 lib/tasks/assets.rake
ab_admin-0.1.0 lib/tasks/assets.rake