aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer/part_container.rb
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2005-07-01 13:17:44 +0000
committerJamis Buck <jamis@37signals.com>2005-07-01 13:17:44 +0000
commit5ddffc8c24635fe44cd66f78d7b5e2f7091e34d6 (patch)
treecffc5827c0d13f359a4b105164ec75df831c3e08 /actionmailer/lib/action_mailer/part_container.rb
parent5651a69130acfcfadcf0d0eeafe7e7f5ee5ba17b (diff)
downloadrails-5ddffc8c24635fe44cd66f78d7b5e2f7091e34d6.tar.gz
rails-5ddffc8c24635fe44cd66f78d7b5e2f7091e34d6.tar.bz2
rails-5ddffc8c24635fe44cd66f78d7b5e2f7091e34d6.zip
Allow for nested parts in multipart mails #1570 [Flurin Egger]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1581 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionmailer/lib/action_mailer/part_container.rb')
-rw-r--r--actionmailer/lib/action_mailer/part_container.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/actionmailer/lib/action_mailer/part_container.rb b/actionmailer/lib/action_mailer/part_container.rb
new file mode 100644
index 0000000000..57ad2f5157
--- /dev/null
+++ b/actionmailer/lib/action_mailer/part_container.rb
@@ -0,0 +1,25 @@
+module ActionMailer
+ module PartContainer
+ attr_reader :parts
+
+ # Add a part to a multipart message, with the given content-type. The
+ # part itself is yielded to the block, so that other properties (charset,
+ # body, headers, etc.) can be set on it.
+ def part(params)
+ params = {:content_type => params} if String === params
+ part = Part.new(params)
+ yield part if block_given?
+ @parts << part
+ end
+
+ # Add an attachment to a multipart message. This is simply a part with the
+ # content-disposition set to "attachment".
+ def attachment(params, &block)
+ params = { :content_type => params } if String === params
+ params = { :disposition => "attachment",
+ :transfer_encoding => "base64" }.merge(params)
+ part(params, &block)
+ end
+
+ end
+end