Class: Net::IMAP::UIDPlusData

Inherits:
Struct
  • Object
show all
Defined in:
lib/net/imap/uidplus_data.rb

Overview

NOTE: UIDPlusData is deprecated and will be removed in the 0.6.0 release. To use AppendUIDData and CopyUIDData before 0.6.0, set Config#parser_use_deprecated_uidplus_data to false.

UIDPlusData represents the ResponseCode#data that accompanies the APPENDUID and COPYUID response codes.

A server that supports UIDPLUS should send UIDPlusData in response to the append, copy, move, uid copy, and uid move commands—unless the destination mailbox reports UIDNOTSTICKY.

Note that append, copy and uid_copy return UIDPlusData in their TaggedResponse. But move and uid_move should send UIDPlusData in an UntaggedResponse response before sending their TaggedResponse. However some servers do send UIDPlusData in the TaggedResponse for MOVE commands—this complies with the older UIDPLUS specification but is discouraged by the MOVE extension and disallowed by IMAP4rev2.

Required capability

Requires either UIDPLUS [RFC4315] or IMAP4rev2 capability.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#assigned_uidsObject

Returns the value of attribute assigned_uids

Returns:

  • (Object)

    the current value of assigned_uids



32
33
34
# File 'lib/net/imap/uidplus_data.rb', line 32

def assigned_uids
  @assigned_uids
end

#source_uidsObject

Returns the value of attribute source_uids

Returns:

  • (Object)

    the current value of source_uids



32
33
34
# File 'lib/net/imap/uidplus_data.rb', line 32

def source_uids
  @source_uids
end

#uidvalidityObject

Returns the value of attribute uidvalidity

Returns:

  • (Object)

    the current value of uidvalidity



32
33
34
# File 'lib/net/imap/uidplus_data.rb', line 32

def uidvalidity
  @uidvalidity
end

Instance Method Details

#uid_mappingObject

:call-seq: uid_mapping -> nil or a hash

Returns a hash mapping each source UID to the newly assigned destination UID.

Note

Returns nil for Net::IMAP#append.



62
63
64
# File 'lib/net/imap/uidplus_data.rb', line 62

def uid_mapping
  source_uids&.zip(assigned_uids)&.to_h
end