class Digestifier::Delivery
Attributes
digest[R]
recipient[R]
Public Class Methods
deliver(digest)
click to toggle source
# File lib/digestifier/delivery.rb, line 2 def self.deliver(digest) digest.recipients.call.find_each do |recipient| Digestifier::Delivery.new(digest, recipient).deliver_and_capture end end
new(digest, recipient)
click to toggle source
# File lib/digestifier/delivery.rb, line 8 def initialize(digest, recipient) @digest, @recipient = digest, recipient end
Public Instance Methods
capture()
click to toggle source
# File lib/digestifier/delivery.rb, line 12 def capture Digestifier::Receipt.capture recipient, digest.identifier end
deliver()
click to toggle source
# File lib/digestifier/delivery.rb, line 16 def deliver return unless settings.enabled? && contents.any? Digestifier.mailer.digest(recipient, contents).deliver end
deliver_and_capture()
click to toggle source
# File lib/digestifier/delivery.rb, line 22 def deliver_and_capture deliver capture end
Private Instance Methods
contents()
click to toggle source
# File lib/digestifier/delivery.rb, line 33 def contents digest.contents.call(recipient, last_sent..Time.zone.now) end
frequency()
click to toggle source
# File lib/digestifier/delivery.rb, line 37 def frequency return default_frequency unless settings.preferences['frequency'] settings.preferences['frequency'] end
last_sent()
click to toggle source
# File lib/digestifier/delivery.rb, line 43 def last_sent receipt = Digestifier::Receipt.last_for(recipient, digest.identifier) receipt.nil? ? frequency.to_i.seconds.ago : receipt.captured_at end
settings()
click to toggle source
# File lib/digestifier/delivery.rb, line 48 def settings @settings ||= Digestifier::Setting.for recipient, digest.identifier end