Sha256: 7ff73a459fd1b8f9b02c6e2fa538df3615b22c9452fcd89fa313b2adb53d2dce
Contents?: true
Size: 1.12 KB
Versions: 2
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true module Decidim module Comments # A command with all the business logic to create a new comment class CreateComment < Rectify::Command # Public: Initializes the command. # # form - A form object with the params. def initialize(form, author, commentable) @form = form @author = author @commentable = commentable end # Executes the command. Broadcasts these events: # # - :ok when everything is valid. # - :invalid if the form wasn't valid and we couldn't proceed. # # Returns nothing. def call return broadcast(:invalid) if form.invalid? create_comment broadcast(:ok, @comment) end private attr_reader :form def create_comment @comment = Comment.create!(author: @author, commentable: @commentable, body: form.body, alignment: form.alignment, decidim_user_group_id: form.user_group_id) end end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
decidim-comments-0.0.3 | app/commands/decidim/comments/create_comment.rb |
decidim-0.0.3 | decidim-comments/app/commands/decidim/comments/create_comment.rb |