2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-06 10:36:40 +08:00
discourse/lib/post_action_creator.rb
2015-12-30 20:52:36 +01:00

20 lines
417 B
Ruby

# creates post actions based on a post and a user
class PostActionCreator
def initialize(user, post)
@user = user
@post = post
end
def perform(action)
guardian.ensure_post_can_act!(@post, action, taken_actions: PostAction.counts_for([@post].compact, @user)[@post.try(:id)])
PostAction.act(@user, @post, action)
end
private
def guardian
@guardian ||= Guardian.new(@user)
end
end