mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-11-27 17:46:05 -05:00
21 lines
403 B
Ruby
21 lines
403 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], @user)[@post.id])
|
||
|
PostAction.act(@user, @post, action)
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def guardian
|
||
|
@guardian ||= Guardian.new(@user)
|
||
|
end
|
||
|
|
||
|
end
|