aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer/deprecated_api.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionmailer/lib/action_mailer/deprecated_api.rb')
-rw-r--r--actionmailer/lib/action_mailer/deprecated_api.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/actionmailer/lib/action_mailer/deprecated_api.rb b/actionmailer/lib/action_mailer/deprecated_api.rb
index e11dd4c46a..d096ea6180 100644
--- a/actionmailer/lib/action_mailer/deprecated_api.rb
+++ b/actionmailer/lib/action_mailer/deprecated_api.rb
@@ -19,6 +19,7 @@ module ActionMailer
end
part = Mail::Part.new(params)
+
yield part if block_given?
@parts << part
end
@@ -29,7 +30,16 @@ module ActionMailer
super # Run deprecation hooks
params = { :content_type => params } if String === params
- params = { :content_disposition => "attachment",
+
+ if filename = params.delete(:filename)
+ content_disposition = "attachment; filename=\"#{File.basename(filename)}\""
+ else
+ content_disposition = "attachment"
+ end
+
+ params[:content] = params.delete(:data) if params[:data]
+
+ params = { :content_disposition => content_disposition,
:content_transfer_encoding => "base64" }.merge(params)
part(params, &block)