Class: InternetMessage::MessageId

Inherits:
Object
  • Object
show all
Defined in:
lib/internet_message/message_id.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(msgid) ⇒ MessageId

Returns a new instance of MessageId.

Parameters:

  • msgid (String)


36
37
38
# File 'lib/internet_message/message_id.rb', line 36

def initialize(msgid)
  @msgid = msgid
end

Instance Attribute Details

#msgidObject (readonly)

Returns the value of attribute msgid.



33
34
35
# File 'lib/internet_message/message_id.rb', line 33

def msgid
  @msgid
end

Class Method Details

.parse(str) ⇒ MessageId

Parameters:

Returns:



7
8
9
10
11
12
13
14
15
# File 'lib/internet_message/message_id.rb', line 7

def self.parse(str)
  tokens = Tokenizer.new(str).tokenize2
  i = tokens.index(Token.new(:CHAR, '<'))
  return unless i
  tokens.shift i+1
  i = tokens.index(Token.new(:CHAR, '>'))
  return unless i
  self.new tokens[0, i].join
end

.parse_list(str) ⇒ Array of MessageId

Parameters:

Returns:



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/internet_message/message_id.rb', line 19

def self.parse_list(str)
  tokens = Tokenizer.new(str).tokenize2
  ret = []
  while true
    i = tokens.index(Token.new(:CHAR, '<'))
    break unless i
    tokens.shift i+1
    i = tokens.index(Token.new(:CHAR, '>'))
    break unless i
    ret.push MessageId.new(tokens[0, i].join)
  end
  ret
end

Instance Method Details

#==(other) ⇒ true, false

Compare self to other

Parameters:

  • other (String)

Returns:

  • (true, false)


43
44
45
# File 'lib/internet_message/message_id.rb', line 43

def ==(other)
  other.is_a?(MessageId) && other.msgid == self.msgid
end