class ActionNotifier::Base

Attributes

notifier_name[W]
message[R]

Public Class Methods

controller_path()
Alias for: notifier_name
default(value = nil) click to toggle source

Aliased by ::default_options=

# File lib/action_notifier/base.rb, line 34
def default(value = nil)
  self.default_params = default_params.merge(value).freeze if value
  default_params
end
Also aliased as: default_options=
default_options=(value = nil)

Allows to set defaults through app configuration:

config.action_mailer.default_options = { from: "no-reply@example.org" }
Alias for: default
new() click to toggle source
# File lib/action_notifier/base.rb, line 85
def initialize
  @message = Message.new
end
notifier_name() click to toggle source
# File lib/action_notifier/base.rb, line 26
def notifier_name
  @notifier_name ||= anonymous? ? "anonymous" : name.underscore
end
Also aliased as: controller_path
to(url) click to toggle source
# File lib/action_notifier/base.rb, line 22
def to(url)
  self.url = url
end

Private Class Methods

method_missing(method_name, *args) click to toggle source
Calls superclass method
# File lib/action_notifier/base.rb, line 70
def method_missing(method_name, *args)
  if action_methods.include?(method_name.to_s)
    MessageDelivery.new(self, method_name, *args)
  else
    super
  end
end
respond_to_missing?(method, include_all = false) click to toggle source
Calls superclass method
# File lib/action_notifier/base.rb, line 78
def respond_to_missing?(method, include_all = false)
  action_methods.include?(method.to_s) || super
end
set_payload_for_mail(payload, mail) click to toggle source
# File lib/action_notifier/base.rb, line 58
def set_payload_for_mail(payload, mail)
  payload[:mailer]     = name
  payload[:message_id] = mail.message_id
  payload[:subject]    = mail.subject
  payload[:to]         = mail.to
  payload[:from]       = mail.from
  payload[:bcc]        = mail.bcc if mail.bcc.present?
  payload[:cc]         = mail.cc  if mail.cc.present?
  payload[:date]       = mail.date
  payload[:mail]       = mail.encoded
end

Public Instance Methods

notifier_name() click to toggle source
# File lib/action_notifier/base.rb, line 110
def notifier_name
  self.class.notifier_name
end
notify(message:, url: nil, options: nil) click to toggle source
# File lib/action_notifier/base.rb, line 89
def notify(message:, url: nil, options: nil)
  @message.body = message
  @message.delivery_method = self.class.delivery_method
  @message.url = url || self.class.url
  @message.options = options || {}
  @message
end