From f0a3af209f021774f0f2360d8843a3f630312431 Mon Sep 17 00:00:00 2001
From: Andrew Kampjes <a.kampjes@gmail.com>
Date: Sat, 25 Oct 2014 23:14:05 +1300
Subject: ActionMailer https on URL with force_ssl = true

`config.force_ssl = true` will set
config.action_mailer.default_url_options = { protocol: 'https' }

If you have turned on force_ssl, and then gone to the effort of setting
config.action_mailer.default_url_options = {host: 'example.com'} then
you are probably pointing people back to your current app and want
https on that too.
---
 railties/test/application/initializers/frameworks_test.rb | 11 +++++++++++
 1 file changed, 11 insertions(+)

(limited to 'railties')

diff --git a/railties/test/application/initializers/frameworks_test.rb b/railties/test/application/initializers/frameworks_test.rb
index 7bba910b9e..fc501f54ea 100644
--- a/railties/test/application/initializers/frameworks_test.rb
+++ b/railties/test/application/initializers/frameworks_test.rb
@@ -50,6 +50,17 @@ module ApplicationTests
       assert_equal "test.rails", ActionMailer::Base.default_url_options[:host]
     end
 
+    test "Default to HTTPS for ActionMailer URLs when force_ssl is on" do
+      app_file "config/environments/development.rb", <<-RUBY
+        Rails.application.configure do
+          config.force_ssl = true
+        end
+      RUBY
+
+      require "#{app_path}/config/environment"
+      assert_equal "https", ActionMailer::Base.default_url_options[:protocol]
+    end
+
     test "includes url helpers as action methods" do
       app_file "config/routes.rb", <<-RUBY
         Rails.application.routes.draw do
-- 
cgit v1.2.3