mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 07:26:04 +08:00
bb0c2813ac
FIX: keep the "uploading..." indicator until the server replies via the MessageBus FIX: text was disapearing when uploading an avatar PERF: always use a region for S3 (defaults to 'us-east-1') FEATURE: ApplyCDN middleware when using S3 FIX: use the same pattern to store files on S3 and locally PERF: keep a local cache of uploads when generating thumbnails FEATURE: migrate_to_s3 rake task
34 lines
728 B
Ruby
34 lines
728 B
Ruby
module Jobs
|
|
|
|
class CreateThumbnails < Jobs::Base
|
|
|
|
def execute(args)
|
|
upload_id = args[:upload_id]
|
|
type = args[:type]
|
|
|
|
raise Discourse::InvalidParameters.new(:upload_id) if upload_id.blank?
|
|
raise Discourse::InvalidParameters.new(:type) if type.blank?
|
|
|
|
# only need to generate thumbnails for avatars
|
|
return if type != "avatar"
|
|
|
|
upload = Upload.find(upload_id)
|
|
|
|
self.send("create_thumbnails_for_#{type}", upload)
|
|
end
|
|
|
|
PIXELS ||= [1, 2]
|
|
|
|
def create_thumbnails_for_avatar(upload)
|
|
PIXELS.each do |pixel|
|
|
Discourse.avatar_sizes.each do |size|
|
|
size *= pixel
|
|
upload.create_thumbnail!(size, size)
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
end
|