class MonkeyMailer::Loaders::DataMapper

Public Class Methods

new(sources) click to toggle source
# File lib/mm-data_mapper.rb, line 32
def initialize(sources)
  ::DataMapper::Logger.new(STDOUT, 'fatal')
  raise ArgumentError, 'One of the database names must be default' unless [:default, 'default'].any? {|source| sources.include? source}
  sources.each_pair do |name, opts|
    ::DataMapper.setup(name.to_sym, opts)
  end

  ::DataMapper.finalize
end

Public Instance Methods

delete_email(email) click to toggle source
# File lib/mm-data_mapper.rb, line 52
def delete_email(email)
  email.destroy
end
find_emails(priority, quota) click to toggle source
# File lib/mm-data_mapper.rb, line 42
def find_emails(priority, quota)
  emails = []
  MonkeyMailer.configuration.loader_options.each_key do |database|
    new_emails = ::DataMapper.repository(database.to_sym) {MailQueue.all(:priority => priority, :limit => quota)}
    quota -= new_emails.size
    emails.concat(new_emails)
  end
  emails
end