1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/mailread.rb
matz 7ed66b9e1d 2000-02-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-02-25 03:51:23 +00:00

48 lines
722 B
Ruby

class Mail
def initialize(f)
unless defined? f.gets
f = open(f, "r")
opened = true
end
@header = {}
@body = []
begin
while line = f.gets()
line.chop!
next if /^From /=~line # skip From-line
break if /^$/=~line # end of header
if /^(\S+):\s*(.*)/=~line
(attr = $1).capitalize!
@header[attr] = $2
elsif attr
line.sub!(/^\s*/, '')
@header[attr] += "\n" + line
end
end
return unless line
while line = f.gets()
break if /^From /=~line
@body.push(line)
end
ensure
f.close if opened
end
end
def header
return @header
end
def body
return @body
end
def [](field)
@header[field.capitalize]
end
end