namespace :carrierwave do
namespace :qiniu do desc 'Sync Qiniu styles of uploader' task sync_styles: :environment do options = [:qiniu_access_key, :qiniu_secret_key, :qiniu_block_size, :qiniu_up_host].reduce({}) do |options, key| options.merge!(key => CarrierWave::Uploader::Base.public_send(key)) end # Config Qiniu establish_connection CarrierWave::Qiniu::Connection.new(options) bucket = CarrierWave::Uploader::Base.qiniu_bucket styles = CarrierWave::Uploader::Base.qiniu_styles if styles && styles.is_a?(Hash) styles.each do |name, style| puts "Bucket: #{bucket}, Set style: #{name} => #{style}" Qiniu.set_style(bucket, name.to_s, style) end end end end
end