def call
found_hidden = nil
paragraphs = EmailReplyParser.read(text.dup).fragments.map do |fragment|
pieces = [escape_html(fragment.to_s.strip).gsub(/^\s*(>|>)/, '')]
if fragment.quoted?
if context[:hide_quoted_email_addresses]
pieces.map! do |piece|
piece.gsub(EMAIL_REGEX, HIDDEN_EMAIL_PATTERN)
end
end
pieces.unshift EMAIL_QUOTED_HEADER
pieces << EMAIL_HEADER_END
elsif fragment.signature?
pieces.unshift EMAIL_SIGNATURE_HEADER
pieces << EMAIL_HEADER_END
else
pieces.unshift EMAIL_FRAGMENT_HEADER
pieces << EMAIL_HEADER_END
end
if fragment.hidden? && !found_hidden
found_hidden = true
pieces.unshift EMAIL_HIDDEN_HEADER
end
pieces.join
end
paragraphs << EMAIL_HEADER_END if found_hidden
paragraphs.join("\n")
end