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.
20 21 22 23 24 25 26 27 28 |
# File 'lib/mm-data_mapper.rb', line 20 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
40 41 42 |
# File 'lib/mm-data_mapper.rb', line 40 def delete_email(email) email.destroy end |
#find_emails(priority, quota) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/mm-data_mapper.rb', line 30 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 |