Class: Mail::Retriever

Inherits:
Object
  • Object
show all
Defined in:
lib/mail/network/retriever_methods/base.rb

Direct Known Subclasses

IMAP, POP3, TestRetriever

Instance Method Summary collapse

Instance Method Details

#all(options = nil, &block) ⇒ Object

Get all emails.

Possible options:

order: order of emails returned. Possible values are :asc or :desc. Default value is :asc.


39
40
41
42
43
# File 'lib/mail/network/retriever_methods/base.rb', line 39

def all(options = nil, &block)
  options = options ? Hash[options] : {}
  options[:count] = :all
  find(options, &block)
end

#find_and_delete(options = nil, &block) ⇒ Object

Find emails in the mailbox, and then deletes them. Without any options, the five last received emails are returned.

Possible options:

what:  last or first emails. The default is :first.
order: order of emails returned. Possible values are :asc or :desc. Default value is :asc.
count: number of emails to retrieve. The default value is 10. A value of 1 returns an
       instance of Message, not an array of Message instances.
delete_after_find: flag for whether to delete each retreived email after find. Default
        is true. Call #find if you would like this to default to false.


56
57
58
59
60
# File 'lib/mail/network/retriever_methods/base.rb', line 56

def find_and_delete(options = nil, &block)
  options = options ? Hash[options] : {}
  options[:delete_after_find] ||= true
  find(options, &block)      
end

#first(options = nil, &block) ⇒ Object

Get the oldest received email(s)

Possible options:

count: number of emails to retrieve. The default value is 1.
order: order of emails returned. Possible values are :asc or :desc. Default value is :asc.


14
15
16
17
18
19
# File 'lib/mail/network/retriever_methods/base.rb', line 14

def first(options = nil, &block)
  options = options ? Hash[options] : {}
  options[:what] = :first
  options[:count] ||= 1
  find(options, &block)
end

#last(options = nil, &block) ⇒ Object

Get the most recent received email(s)

Possible options:

count: number of emails to retrieve. The default value is 1.
order: order of emails returned. Possible values are :asc or :desc. Default value is :asc.


27
28
29
30
31
32
# File 'lib/mail/network/retriever_methods/base.rb', line 27

def last(options = nil, &block)
  options = options ? Hash[options] : {}
  options[:what] = :last
  options[:count] ||= 1
  find(options, &block)
end