aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer/part_container.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-12-25 21:46:01 +0100
committerJosé Valim <jose.valim@gmail.com>2009-12-25 21:47:47 +0100
commit88ba056043e22c4c60dde6b07df897e502f49491 (patch)
treebbb1cac1a430a99aaada9743d02dfcc8b127828a /actionmailer/lib/action_mailer/part_container.rb
parentee70d1b6ad9b79d2c3d284e78af4e20416575ea8 (diff)
downloadrails-88ba056043e22c4c60dde6b07df897e502f49491.tar.gz
rails-88ba056043e22c4c60dde6b07df897e502f49491.tar.bz2
rails-88ba056043e22c4c60dde6b07df897e502f49491.zip
Refactor multiple parts logic and move Utils to PartContainer.
Diffstat (limited to 'actionmailer/lib/action_mailer/part_container.rb')
-rw-r--r--actionmailer/lib/action_mailer/part_container.rb20
1 files changed, 18 insertions, 2 deletions
diff --git a/actionmailer/lib/action_mailer/part_container.rb b/actionmailer/lib/action_mailer/part_container.rb
index abfd8f8426..3fe502b1fb 100644
--- a/actionmailer/lib/action_mailer/part_container.rb
+++ b/actionmailer/lib/action_mailer/part_container.rb
@@ -39,8 +39,24 @@ module ActionMailer
end
private
-
- def parse_content_type(defaults=nil)
+
+ def normalize_new_lines(text) #:nodoc:
+ text.to_s.gsub(/\r\n?/, "\n")
+ end
+
+ def setup_multiple_parts(mailer, real_content_type, ctype_attrs) #:nodoc:
+ @parts.each do |p|
+ part = (TMail::Mail === p ? p : p.to_mail(self))
+ mailer.parts << part
+ end
+
+ if real_content_type =~ /multipart/
+ ctype_attrs.delete "charset"
+ mailer.set_content_type(real_content_type, nil, ctype_attrs)
+ end
+ end
+
+ def parse_content_type(defaults=nil) #:nodoc:
if content_type.blank?
return defaults ?
[ defaults.content_type, { 'charset' => defaults.charset } ] :