Class: Renalware::Messaging::Internal::MessageFactory

Inherits:
Object
  • Object
show all
Defined in:
app/models/renalware/messaging/internal/message_factory.rb

Class Method Summary collapse

Class Method Details

.build(**attributes) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'app/models/renalware/messaging/internal/message_factory.rb', line 9

def self.build(**attributes)
  attributes[:sent_at] ||= Time.zone.now
  recipient_ids = attributes.delete(:recipient_ids) || []

  Message.new(attributes).tap do |message|
    recipient_ids.each do |recipient_id|
      message.receipts.build(recipient_id: recipient_id)
    end
  end
end