123456789_123456789_123456789_123456789_123456789_

Class: Net::IMAP::Data_define__uidvalidity___source_uids___assigned_uids_

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Subclasses:
Inherits: Object
Defined in: lib/net/imap/uidplus_data.rb

Overview

This replaces the Data.define polyfill that’s used by net-imap 0.5.

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(uidvalidity = (args = false; nil), source_uids = nil, assigned_uids = nil, **kwargs) ⇒ Data_define__uidvalidity___source_uids___assigned_uids_

[ GitHub ]

  
# File 'lib/net/imap/uidplus_data.rb', line 154

def self.new(uidvalidity   = (args = false; nil),
             source_uids   = nil,
             assigned_uids = nil,
             **kwargs)
  if kwargs.empty?
    super(uidvalidity:   uidvalidity,
          source_uids:   source_uids,
          assigned_uids: assigned_uids)
  elsif !args
    super(**kwargs)
  else
    raise ArgumentError, "sent both positional and keyword args"
  end
end

#initialize(uidvalidity:, source_uids:, assigned_uids:) ⇒ Data_define__uidvalidity___source_uids___assigned_uids_

[ GitHub ]

  
# File 'lib/net/imap/uidplus_data.rb', line 169

def initialize(uidvalidity:, source_uids:, assigned_uids:)
  @uidvalidity   = uidvalidity
  @source_uids   = source_uids
  @assigned_uids = assigned_uids
  freeze
end

Class Method Details

.[]

[ GitHub ]

  
# File 'lib/net/imap/uidplus_data.rb', line 153

def self.[](...) new(...) end

Instance Attribute Details

#assigned_uids (readonly)

:no-doc:

[ GitHub ]

  
# File 'lib/net/imap/uidplus_data.rb', line 151

attr_reader :uidvalidity, :source_uids, :assigned_uids

#source_uids (readonly)

:no-doc:

[ GitHub ]

  
# File 'lib/net/imap/uidplus_data.rb', line 151

attr_reader :uidvalidity, :source_uids, :assigned_uids

#uidvalidity (readonly)

:no-doc:

[ GitHub ]

  
# File 'lib/net/imap/uidplus_data.rb', line 151

attr_reader :uidvalidity, :source_uids, :assigned_uids

Instance Method Details

#==(other)

[ GitHub ]

  
# File 'lib/net/imap/uidplus_data.rb', line 176

def ==(other)
  self.class == other.class &&
    self.uidvalidity   == other.uidvalidity &&
    self.source_uids   == other.source_uids
  self.assigned_uids == other.assigned_uids
end

#eql?(other) ⇒ Boolean

[ GitHub ]

  
# File 'lib/net/imap/uidplus_data.rb', line 183

def eql?(other)
  self.class.eql?(other.class) &&
    self.uidvalidity.eql?(other.uidvalidity) &&
    self.source_uids.eql?(other.source_uids)
  self.assigned_uids.eql?(other.assigned_uids)
end

#hash

[ GitHub ]

  
# File 'lib/net/imap/uidplus_data.rb', line 190

def hash; [self.class, uidvalidity, source_uids, assigned_uids].hash end