Class: Decidim::Admin::DeliverNewsletter

Inherits:
Rectify::Command
  • Object
show all
Defined in:
app/commands/decidim/admin/deliver_newsletter.rb

Overview

Delivers the newsletter to its recipients.

Instance Method Summary collapse

Constructor Details

#initialize(newsletter, user) ⇒ DeliverNewsletter

Initializes the command.

newsletter - The newsletter to deliver. user - the Decidim::USer that delivers the newsletter



11
12
13
14
# File 'app/commands/decidim/admin/deliver_newsletter.rb', line 11

def initialize(newsletter, user)
  @newsletter = newsletter
  @user = user
end

Instance Method Details

#callObject



16
17
18
19
20
21
22
23
# File 'app/commands/decidim/admin/deliver_newsletter.rb', line 16

def call
  @newsletter.with_lock do
    return broadcast(:invalid) if @newsletter.sent?
    send_newsletter!
  end

  broadcast(:ok, @newsletter)
end