Module: Net::IMAP::Multiappend

Included in:
Net::IMAP
Defined in:
lib/net/imap/multiappend/version.rb,
lib/net/imap/multiappend.rb

Defined Under Namespace

Classes: Message

Constant Summary collapse

VERSION =
"0.1.0"
REQUIRED_CAPABILITIES =
%w(LITERAL+ MULTIAPPEND).freeze

Instance Method Summary collapse

Instance Method Details

#can_multiappend?Boolean

Returns:

  • (Boolean)


35
36
37
38
# File 'lib/net/imap/multiappend.rb', line 35

def can_multiappend?
  capabilities = capability
  REQUIRED_CAPABILITIES.all? { |c| capabilities.include?(c) }
end

#multiappend(mailbox, messages) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/net/imap/multiappend.rb', line 25

def multiappend(mailbox, messages)
  args = ([[]] + messages).reduce do |memo, m|
    memo.push(m.flags) if m.flags
    memo.push(m.date_time) if m.date_time
    memo.push(m.message_literal)
    memo
  end
  send_command("APPEND", mailbox, *args)
end