From 2507f9913536e991aacf26f8c3691f9d698a32e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Thu, 29 Jan 2015 18:36:35 +0100 Subject: [PATCH] FEATURE: background job to make sure emoticons aren't too big --- app/jobs/regular/resize_emoji.rb | 14 ++++++++++++++ app/models/emoji.rb | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 app/jobs/regular/resize_emoji.rb diff --git a/app/jobs/regular/resize_emoji.rb b/app/jobs/regular/resize_emoji.rb new file mode 100644 index 00000000000..272158e17c3 --- /dev/null +++ b/app/jobs/regular/resize_emoji.rb @@ -0,0 +1,14 @@ +module Jobs + + class ResizeEmoji < Jobs::Base + + def execute(args) + path = args[:path] + return unless File.exists?(path) + + # make sure emoji aren't too big + OptimizedImage.resize(path, path, 60, 60, true) + end + end + +end diff --git a/app/models/emoji.rb b/app/models/emoji.rb index 43056fac064..b283e36a40f 100644 --- a/app/models/emoji.rb +++ b/app/models/emoji.rb @@ -56,6 +56,8 @@ class Emoji File.open(path, "wb") { |f| f << file.tempfile.read } # clear the cache Emoji.clear_cache + # launch resize job + Jobs.enqueue(:resize_emoji, path: path) # return created emoji Emoji.custom.detect { |e| e.name == name } end