discourse/app/jobs/regular/process_post.rb
riking 3396e6fea3 Centralize MessageBus post updates
After this change, only two files directly publish to MessageBus with a
topic interpolated in the channel: Post and TopicUser.
2014-08-28 20:40:36 -07:00

28 lines
652 B
Ruby

require 'image_sizer'
require_dependency 'cooked_post_processor'
module Jobs
class ProcessPost < Jobs::Base
def execute(args)
post = Post.find_by(id: args[:post_id])
# two levels of deletion
return unless post.present? && post.topic.present?
post.update_column(:cooked, post.cook(post.raw, topic_id: post.topic_id)) if args[:cook].present?
cp = CookedPostProcessor.new(post, args)
cp.post_process(args[:bypass_bump])
# If we changed the document, save it
if cp.dirty?
post.update_column(:cooked, cp.html)
post.publish_change_to_clients! :revised
end
end
end
end