jam-cloud/ruby/lib/jam_ruby/models/email_batch_periodic.rb

50 lines
974 B
Ruby

module JamRuby
class EmailBatchPeriodic < EmailBatch
# self.abstract_class = true
def time_since_last_batch_query
self.class
.where(['created_at < ?', self.created_at])
.where(:aasm_state => 'delivered')
.order('created_at DESC')
.limit(1)
end
def time_since_last_batch(default_days=2)
if previous = self.time_since_last_batch_query.first
return previous.created_at
end
Time.now - default_days.days
end
def fetch_recipients(since=nil)
yield([]) if block_given?
end
def self.subject(subtype=nil)
''
end
def self.body
''
end
after_initialize :set_periodic_defaults
def set_periodic_defaults
if new_record?
self.body = ''
self.subject = self.class.subject
end
end
def deliver_batch_sets!
end
def clear_batch_sets!
self.email_batch_sets.map(&:destroy)
end
end
end