123456789_123456789_123456789_123456789_123456789_

Class: Net::IMAP::Data_define__uidvalidity___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), assigned_uids = nil, **kwargs) ⇒ Data_define__uidvalidity___assigned_uids_

[ GitHub ]

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

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

#initialize(uidvalidity:, assigned_uids:) ⇒ Data_define__uidvalidity___assigned_uids_

[ GitHub ]

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

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

Class Method Details

.[]

[ GitHub ]

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

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

Instance Attribute Details

#assigned_uids (readonly)

:no-doc:

[ GitHub ]

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

attr_reader :uidvalidity, :assigned_uids

#uidvalidity (readonly)

:no-doc:

[ GitHub ]

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

attr_reader :uidvalidity, :assigned_uids

Instance Method Details

#==(other)

[ GitHub ]

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

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

#eql?(other) ⇒ Boolean

[ GitHub ]

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

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

#hash

[ GitHub ]

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

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