The RMail::Serialize class writes an RMail::Message object into an IO object or string. The result is a standard mail message in text form.
To do this, you pass the RMail::Message object to the RMail::Serialize object. RMail::Serialize can write into any object supporting the << method.
As a convenience, ::write is a class method you can use directly:
# Write to a file File.open('my-message', 'w') { |f| RMail::Serialize.write(f, message) }
# Write to a new string string = ::write(”, message)
Initialize this Serialize object with an output stream. If escape_from is not nil, lines with a leading From are escaped.
# File lib/rmail/serialize.rb, line 55 def initialize(output, escape_from = nil) @output = output @escape_from = escape_from end
Serialize a message into a given output object. The output object must support the << method in the same way that an IO or String object does.
# File lib/rmail/serialize.rb, line 69 def Serialize.write(output, message) Serialize.new(output).serialize(message) end
Serialize a given message into this object’s output object.
# File lib/rmail/serialize.rb, line 61 def serialize(message) calculate_boundaries(message) if message.multipart? serialize_low(message) end