class DigestEmailGroup

Public Class Methods

enqueue(performable) click to toggle source
# File lib/app/models/digest_email_group.rb, line 32
def enqueue(performable)
  digest_group = init_digest_group(performable)
  digest_group.create_digest_items(performable)
end
init_digest_group(performable) click to toggle source
# File lib/app/models/digest_email_group.rb, line 37
def init_digest_group(performable)
  group = DigestEmailGroup.find_or_initialize_by_method_name_and_mailer_class performable.method_name, performable.mailer
  if group.new_record?
    group.recipients =  performable.options[:send_to]
    group.save
  end

  group
end

Public Instance Methods

create_digest_items(performable) click to toggle source
# File lib/app/models/digest_email_group.rb, line 22
def create_digest_items(performable)
  digest_item = digest_email_items.build :payload => performable.payload, :digest_resource => performable.digest_resource
  digest_recipients.each do |recipient|
    digest_item.digest_email_deliveries.build :receiver_email => recipient.gsub(' ', '')
  end
  
  digest_item.save
end
digest_recipients() click to toggle source
# File lib/app/models/digest_email_group.rb, line 18
def digest_recipients
  I18n::t("digest_notifier.#{i18n_name_space}.recipient", :default => default_recipients).to_s.split(',')
end
email_header() click to toggle source
# File lib/app/models/digest_email_group.rb, line 6
def email_header
  I18n::t("digest_notifier.#{i18n_name_space}.header", :default => description)
end
i18n_name_space() click to toggle source
# File lib/app/models/digest_email_group.rb, line 10
def i18n_name_space
  "#{mailer_name}.#{method_name}"
end
mailer_name() click to toggle source
# File lib/app/models/digest_email_group.rb, line 14
def mailer_name
  mailer_class.to_s.split('::').last.underscore
end

Protected Instance Methods

default_recipients() click to toggle source
# File lib/app/models/digest_email_group.rb, line 49
def default_recipients
 I18n::t("digest_notifier.digest_mailer.recipient")
end