Class: MonkeyMail::Mailer

Inherits:
Object
  • Object
show all
Defined in:
lib/monkey_mail/mailer.rb

Constant Summary collapse

PERMITTED_PARAM_KYES =
%i[subject from_name from_email to vars template_name skip_delivery attachment].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(action_name) ⇒ Mailer

Returns a new instance of Mailer.



25
26
27
# File 'lib/monkey_mail/mailer.rb', line 25

def initialize(action_name)
  @action_name = action_name
end

Instance Attribute Details

#action_nameObject (readonly)

Returns the value of attribute action_name.



9
10
11
# File 'lib/monkey_mail/mailer.rb', line 9

def action_name
  @action_name
end

Instance Method Details

#mail(params = {}) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/monkey_mail/mailer.rb', line 29

def mail(params = {})
  params[:template_name] = template_name(params)

  result_params = MonkeyMail.configuration.default_mail_parameters.dup
  result_params.merge!(vars: vars_from_instance_variables)
  result_params.merge!(params)
  result_params[:to] = [params[:to]] if params[:to].is_a? String
  result_params = permitted_params(result_params)

  Mail.new(result_params)
end