Class: DigestEmailGroup
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- DigestEmailGroup
- Defined in:
- lib/app/models/digest_email_group.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create_digest_items(performable) ⇒ Object
- #digest_recipients ⇒ Object
- #email_header ⇒ Object
- #i18n_name_space ⇒ Object
- #mailer_name ⇒ Object
Class Method Details
.enqueue(performable) ⇒ Object
32 33 34 35 |
# 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) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# 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.[:send_to] group.save end group end |
Instance Method Details
#create_digest_items(performable) ⇒ Object
22 23 24 25 26 27 28 29 |
# 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_recipients.each do |recipient| digest_item.digest_email_deliveries.build :receiver_email => recipient.gsub(' ', '') end digest_item.save end |
#digest_recipients ⇒ Object
18 19 20 |
# File 'lib/app/models/digest_email_group.rb', line 18 def digest_recipients I18n::t("digest_notifier.#{i18n_name_space}.recipient", :default => recipients).to_s.split(',') end |
#email_header ⇒ Object
6 7 8 |
# 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 ⇒ Object
10 11 12 |
# File 'lib/app/models/digest_email_group.rb', line 10 def i18n_name_space "#{mailer_name}.#{method_name}" end |
#mailer_name ⇒ Object
14 15 16 |
# File 'lib/app/models/digest_email_group.rb', line 14 def mailer_name mailer_class.to_s.split('::').last.underscore end |