summaryrefslogtreecommitdiff
path: root/app/mailers
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2017-08-31 10:47:03 +0100
committerSean McGivern <sean@gitlab.com>2017-08-31 13:38:33 +0100
commit5883ce95efcc4cc04f949f9b4e66d73fbede94e2 (patch)
treed02417158bec75160367f5b7663d37043eca9d57 /app/mailers
parentbf51ab887b92275d0e5b51c53889664f8c8db745 (diff)
downloadgitlab-ce-5883ce95efcc4cc04f949f9b4e66d73fbede94e2.tar.gz
`current_application_settings` belongs on `Gitlab::CurrentSettings`
The initializers including this were doing so at the top level, so every object loaded after them had a `current_application_settings` method. However, if someone had rack-attack enabled (which was loaded before these initializers), it would try to load the API, and fail, because `Gitlab::CurrentSettings` didn't have that method. To fix this: 1. Don't include `Gitlab::CurrentSettings` at the top level. We do not need `Object.new.current_application_settings` to work. 2. Make `Gitlab::CurrentSettings` explicitly `extend self`, as we already use it like that in several places. 3. Change the initializers to use that new form.
Diffstat (limited to 'app/mailers')
-rw-r--r--app/mailers/base_mailer.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/mailers/base_mailer.rb b/app/mailers/base_mailer.rb
index 654468bc7fe..8e99db444d6 100644
--- a/app/mailers/base_mailer.rb
+++ b/app/mailers/base_mailer.rb
@@ -1,11 +1,13 @@
class BaseMailer < ActionMailer::Base
+ include Gitlab::CurrentSettings
+
around_action :render_with_default_locale
helper ApplicationHelper
helper MarkupHelper
attr_accessor :current_user
- helper_method :current_user, :can?
+ helper_method :current_user, :can?, :current_application_settings
default from: proc { default_sender_address.format }
default reply_to: proc { default_reply_to_address.format }