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
|
# File 'lib/em_spamc/header_parser.rb', line 2
def self.parse(data)
lines = data.split(/\r?\n/)
= { }
lines.each do |line|
case (line)
when /^SPAMD\/(\d+\.\d+) (.*)/
code, message = $2.split(/\s+/)
[:version] = $1
[:code] = code.match(/\d/) ? code.to_i : code
[:message] = message
when /^(\S+): (.*)\s;\s([0-9]*.[0-9]*)/
[:spam] = $2 == 'True'
[:score] = $3.to_f
end
end
if (lines.length == 1)
.merge!(:score => 0.0, :spam => false)
end
end
|