Review of the uploaders
Rake task to recreate version: uploader:recreate or uploader:recreate name1 name2 ...
This commit is contained in:
parent
cce8f1be9b
commit
9f5bce9351
|
@ -1,15 +1,12 @@
|
|||
# encoding: utf-8
|
||||
require 'carrierwave/processing/mime_types'
|
||||
|
||||
class AssetUploader < CarrierWave::Uploader::Base
|
||||
require 'mime/types'
|
||||
|
||||
include CarrierWave::MimeTypes
|
||||
|
||||
process :set_content_type
|
||||
|
||||
def set_content_type(*args)
|
||||
content_type = file.content_type == ('binary/octet-stream' || 'application/octet-stream') || file.content_type.blank? ? MIME::Types.type_for(original_filename).first.to_s : file.content_type
|
||||
self.file.instance_variable_set(:@content_type, content_type)
|
||||
end
|
||||
|
||||
# Include RMagick or ImageScience support:
|
||||
# include CarrierWave::RMagick
|
||||
# include CarrierWave::ImageScience
|
||||
|
@ -52,4 +49,8 @@ class AssetUploader < CarrierWave::Uploader::Base
|
|||
# model.filename
|
||||
# end
|
||||
|
||||
def cache_dir
|
||||
"#{Rails.root}/tmp/uploads"
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
# encoding: utf-8
|
||||
require 'carrierwave/processing/mime_types'
|
||||
|
||||
class AvatarUploader < CarrierWave::Uploader::Base
|
||||
|
||||
# Include RMagick or ImageScience support:
|
||||
# include CarrierWave::RMagick
|
||||
# include CarrierWave::ImageScience
|
||||
include CarrierWave::MiniMagick
|
||||
include CarrierWave::MiniMagick
|
||||
include CarrierWave::MimeTypes
|
||||
|
||||
process :set_content_type
|
||||
|
||||
# Choose what kind of storage to use for this uploader:
|
||||
# storage :file
|
||||
|
@ -43,23 +47,17 @@ class AvatarUploader < CarrierWave::Uploader::Base
|
|||
|
||||
# Add a white list of extensions which are allowed to be uploaded.
|
||||
# For images you might use something like this:
|
||||
# def extension_white_list
|
||||
# %w(jpg jpeg gif png)
|
||||
# end
|
||||
def extension_white_list
|
||||
%w(jpg jpeg gif png)
|
||||
end
|
||||
|
||||
# Override the filename of the uploaded files:
|
||||
# def filename
|
||||
# "something.jpg" if original_filename
|
||||
# end
|
||||
|
||||
# def manipulate!
|
||||
# raise current_path.inspect
|
||||
# image = ::MiniMagick::Image.open(current_path)
|
||||
# image = yield(image)
|
||||
# image.write(current_path)
|
||||
# ::MiniMagick::Image.open(current_path)
|
||||
# rescue ::MiniMagick::Error, ::MiniMagick::Invalid => e
|
||||
# raise CarrierWave::ProcessingError.new("Failed to manipulate with MiniMagick, maybe it is not an image? Original Error: #{e}")
|
||||
# end
|
||||
def cache_dir
|
||||
"#{Rails.root}/tmp/uploads"
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -33,4 +33,8 @@ class CkeditorAttachmentFileUploader < CarrierWave::Uploader::Base
|
|||
def extension_white_list
|
||||
Ckeditor.attachment_file_types
|
||||
end
|
||||
|
||||
def cache_dir
|
||||
"#{Rails.root}/tmp/uploads"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -44,4 +44,8 @@ class CkeditorPictureUploader < CarrierWave::Uploader::Base
|
|||
def extension_white_list
|
||||
Ckeditor.image_file_types
|
||||
end
|
||||
|
||||
def cache_dir
|
||||
"#{Rails.root}/tmp/uploads"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
# encoding: utf-8
|
||||
require 'carrierwave/processing/mime_types'
|
||||
|
||||
class FileAssetUploader < CarrierWave::Uploader::Base
|
||||
require 'mime/types'
|
||||
|
||||
include CarrierWave::MimeTypes
|
||||
|
||||
process :set_content_type
|
||||
|
||||
def set_content_type(*args)
|
||||
content_type = file.content_type == ('binary/octet-stream' || 'application/octet-stream') || file.content_type.blank? ? MIME::Types.type_for(original_filename).first.to_s : file.content_type
|
||||
self.file.instance_variable_set(:@content_type, content_type)
|
||||
end
|
||||
|
||||
# Include RMagick or ImageScience support:
|
||||
# include CarrierWave::RMagick
|
||||
# include CarrierWave::ImageScience
|
||||
|
@ -52,4 +49,8 @@ class FileAssetUploader < CarrierWave::Uploader::Base
|
|||
# model.filename.force_encoding("UTF-8")
|
||||
# end
|
||||
|
||||
def cache_dir
|
||||
"#{Rails.root}/tmp/uploads"
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -1,22 +1,15 @@
|
|||
# encoding: utf-8
|
||||
require 'carrierwave/processing/mime_types'
|
||||
|
||||
class ImageUploader < CarrierWave::Uploader::Base
|
||||
|
||||
require 'mime/types'
|
||||
require 'carrierwave/processing/mini_magick'
|
||||
include Sprockets::Helpers::RailsHelper
|
||||
|
||||
process :set_content_type
|
||||
|
||||
# Include RMagick or ImageScience support:
|
||||
# include CarrierWave::RMagick
|
||||
# include CarrierWave::ImageScience
|
||||
include CarrierWave::MiniMagick
|
||||
include CarrierWave::MimeTypes
|
||||
|
||||
def set_content_type(*args)
|
||||
content_type = file.content_type == ('binary/octet-stream' || 'application/octet-stream') || file.content_type.blank? ? MIME::Types.type_for(original_filename).first.to_s : file.content_type
|
||||
self.file.instance_variable_set(:@content_type, content_type)
|
||||
end
|
||||
process :set_content_type
|
||||
|
||||
# Choose what kind of storage to use for this uploader:
|
||||
# storage :file
|
||||
|
@ -63,20 +56,8 @@ class ImageUploader < CarrierWave::Uploader::Base
|
|||
# "something.jpg" if original_filename
|
||||
# end
|
||||
|
||||
def cache_dir
|
||||
def cache_dir
|
||||
"#{Rails.root}/tmp/uploads"
|
||||
end
|
||||
|
||||
|
||||
# def manipulate!
|
||||
# cache_stored_file! if !cached?
|
||||
#raise File.extname(current_path.to_s).to_s
|
||||
# image = ::MiniMagick::Image.open(current_path)
|
||||
# image = yield(image)
|
||||
# image.write(current_path)
|
||||
# ::MiniMagick::Image.open(current_path)
|
||||
# rescue
|
||||
# nil
|
||||
# end
|
||||
|
||||
end
|
||||
|
|
|
@ -1,9 +1,14 @@
|
|||
require 'carrierwave/processing/mime_types'
|
||||
|
||||
class LocationUploader < CarrierWave::Uploader::Base
|
||||
|
||||
# Include RMagick or ImageScience support:
|
||||
# include CarrierWave::RMagick
|
||||
# include CarrierWave::ImageScience
|
||||
include CarrierWave::MiniMagick
|
||||
include CarrierWave::MiniMagick
|
||||
include CarrierWave::MimeTypes
|
||||
|
||||
process :set_content_type
|
||||
|
||||
# Choose what kind of storage to use for this uploader:
|
||||
# storage :file
|
||||
|
@ -47,15 +52,9 @@ class LocationUploader < CarrierWave::Uploader::Base
|
|||
# "something.jpg" if original_filename
|
||||
# end
|
||||
|
||||
# def manipulate!
|
||||
# raise current_path.inspect
|
||||
# image = ::MiniMagick::Image.open(current_path)
|
||||
# image = yield(image)
|
||||
# image.write(current_path)
|
||||
# ::MiniMagick::Image.open(current_path)
|
||||
# rescue ::MiniMagick::Error, ::MiniMagick::Invalid => e
|
||||
# raise CarrierWave::ProcessingError.new("Failed to manipulate with MiniMagick, maybe it is not an image? Original Error: #{e}")
|
||||
# end
|
||||
def cache_dir
|
||||
"#{Rails.root}/tmp/uploads"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
namespace :uploader do
|
||||
task :recreate => :environment do
|
||||
mongoid_collections = Mongoid.database.collections.reject{|c| c.name.include?('.')}
|
||||
ARGV.shift
|
||||
if ARGV.present?
|
||||
uploaders = []
|
||||
ARGV.each{ |arg|
|
||||
task arg.to_sym do ; end
|
||||
uploaders << arg
|
||||
}
|
||||
else
|
||||
uploaders = %w(AvatarUploader ImageUploader)
|
||||
end
|
||||
klasses = mongoid_collections.inject([]) { |klasses, coll|
|
||||
if klasses.blank?
|
||||
klasses = coll.find().map{|c| c['_type']}.uniq.compact
|
||||
else
|
||||
klasses += coll.find().map{|c| c['_type']}.uniq.compact
|
||||
end
|
||||
klasses
|
||||
}
|
||||
to_recreate = klasses.inject([]) { |names, name|
|
||||
klass = name.constantize rescue nil
|
||||
klass.uploaders.each_value{ |value|
|
||||
if uploaders.include?(value.to_s) && !names.include?(name)
|
||||
names << name
|
||||
end
|
||||
} unless klass.nil?
|
||||
names
|
||||
}
|
||||
to_recreate.each { |name|
|
||||
klass = name.constantize
|
||||
klass.all.each{ |object|
|
||||
klass.uploaders.each_key{ |key|
|
||||
object.send(key).recreate_versions! if object[key] rescue nil
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue