class ImapFilter::Functionality::FunctAccount

Attributes

dacc[R]

Public Class Methods

new(acc) click to toggle source
# File lib/imap-filter/functionality.rb, line 24
def initialize acc
  @dacc = acc
end

Public Instance Methods

ensure_mailbox(mbox) click to toggle source
# File lib/imap-filter/functionality.rb, line 47
def ensure_mailbox mbox
  unless member? mbox
    @dacc.imap.create mbox
    @mbox_list[mbox] = [:new_mailbox, :new_mailbox]
  end
end
mbox_list() click to toggle source
# File lib/imap-filter/functionality.rb, line 28
def mbox_list
  @mbox_list ||= @dacc.imap.list('', '*')
               .map { |m| [m['name'], m['attr']] }
               .map { |mbox, attr|
    begin
      [mbox,
       [@dacc.imap.status(mbox, STATUS.values)
         .map{ |k, v| "#{ISTAT[k]}:#{v}" }
         .join(' '),
        attr]]
    rescue
      nil
    end }.compact.to_h
end
member?(mbox) click to toggle source
# File lib/imap-filter/functionality.rb, line 43
def member? mbox
  mbox_list.member? mbox
end