Class: MonkeyMailer::Loaders::DataMapper
- Inherits:
-
Object
- Object
- MonkeyMailer::Loaders::DataMapper
- Defined in:
- lib/mm-data_mapper.rb
Instance Method Summary collapse
- #delete_email(email) ⇒ Object
- #find_emails(priority, quota) ⇒ Object
-
#initialize(sources) ⇒ DataMapper
constructor
A new instance of DataMapper.
Constructor Details
#initialize(sources) ⇒ DataMapper
Returns a new instance of DataMapper.
32 33 34 35 36 37 38 39 40 |
# 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 |
Instance Method Details
#delete_email(email) ⇒ Object
52 53 54 |
# File 'lib/mm-data_mapper.rb', line 52 def delete_email(email) email.destroy end |
#find_emails(priority, quota) ⇒ Object
42 43 44 45 46 47 48 49 50 |
# File 'lib/mm-data_mapper.rb', line 42 def find_emails(priority, quota) emails = [] MonkeyMailer.configuration..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 |