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) ⇒ DeliverNewsletter

Initializes the command.

newsletter - The newsletter to deliver.



9
10
11
# File 'app/commands/decidim/admin/deliver_newsletter.rb', line 9

def initialize(newsletter)
  @newsletter = newsletter
end

Instance Method Details

#callObject



13
14
15
16
17
18
19
20
# File 'app/commands/decidim/admin/deliver_newsletter.rb', line 13

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

  broadcast(:ok, @newsletter)
end