forked from mikel/mail
-
Notifications
You must be signed in to change notification settings - Fork 0
/
address_lists.rb
64 lines (51 loc) · 1.28 KB
/
address_lists.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Autogenerated from a Treetop grammar. Edits may be lost.
module Mail
module AddressLists
include Treetop::Runtime
def root
@root ||= :primary_address
end
include RFC2822
module PrimaryAddress0
def addresses
([first_addr] + other_addr.elements.map { |o| o.addr_value }).reject { |e| e.empty? }
end
end
module PrimaryAddress1
def addresses
[first_addr] + other_addr.elements.map { |o| o.addr_value }
end
end
def _nt_primary_address
start_index = index
if node_cache[:primary_address].has_key?(index)
cached = node_cache[:primary_address][index]
if cached
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
@index = cached.interval.end
end
return cached
end
i0 = index
r1 = _nt_address_list
r1.extend(PrimaryAddress0)
if r1
r0 = r1
else
r2 = _nt_obs_addr_list
r2.extend(PrimaryAddress1)
if r2
r0 = r2
else
@index = i0
r0 = nil
end
end
node_cache[:primary_address][start_index] = r0
r0
end
end
class AddressListsParser < Treetop::Runtime::CompiledParser
include AddressLists
end
end