32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'app/models/nuntius/campaign.rb', line 32
def new_message(subscriber, assigns = {})
if subscriber.nuntiable
name = Nuntius::BaseMessenger.liquid_variable_name_for(subscriber.nuntiable)
assigns[name] = subscriber.nuntiable
end
message = Nuntius::Message.new(transport: transport, campaign: self, nuntiable: subscriber.nuntiable, metadata: metadata)
locale_proc = Nuntius::BaseMessenger.messenger_for_obj(subscriber.nuntiable).locale
locale = instance_exec(object, &locale_proc) if locale_proc
message.from = render(:from, assigns, locale)
message.to = if transport == 'mail'
%["#{subscriber.first_name} #{subscriber.last_name}" <#{subscriber.email}>]
elsif transport == 'sms'
subscriber.phone_number
elsif transport == 'voice'
subscriber.phone_number
end
message.subject = render(:subject, assigns, locale)
message.html = render(:html, assigns, locale, layout: layout&.data)
message
end
|