# encoding: utf-8 module Mail class Retriever # 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. # def first(options = {}, &block) options ||= {} options[:what] = :first options[:count] ||= 1 find(options, &block) end # 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. # def last(options = {}, &block) options ||= {} options[:what] = :last options[:count] ||= 1 find(options, &block) end # Get all emails. # # Possible options: # order: order of emails returned. Possible values are :asc or :desc. Default value is :asc. # def all(options = {}, &block) options ||= {} options[:count] = :all find(options, &block) end # 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. # def find_and_delete(options = {}, &block) options ||= {} options[:delete_after_find] ||= true find(options, &block) end end end