diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-07-16 11:23:15 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-07-16 11:23:15 +0200 |
commit | e682d941807f176ceeb8a639dc498b25560e853e (patch) | |
tree | db1c974617b73a416cc44ddf917e446b79377433 | |
parent | fabf6a5634fa5d3c585d01a0d0dfac6c39dcbe8e (diff) | |
download | gitlab-ce-e682d941807f176ceeb8a639dc498b25560e853e.tar.gz |
Move existing email interceptors into the same module
-rw-r--r-- | config/initializers/additional_headers_interceptor.rb | 3 | ||||
-rw-r--r-- | config/initializers/disable_email_interceptor.rb | 3 | ||||
-rw-r--r-- | config/initializers/email_template_interceptor.rb | 3 | ||||
-rw-r--r-- | lib/additional_email_headers_interceptor.rb | 6 | ||||
-rw-r--r-- | lib/disable_email_interceptor.rb | 7 | ||||
-rw-r--r-- | lib/email_template_interceptor.rb | 11 | ||||
-rw-r--r-- | lib/gitlab/email/hook/additional_headers_interceptor.rb | 12 | ||||
-rw-r--r-- | lib/gitlab/email/hook/disable_email_interceptor.rb | 13 | ||||
-rw-r--r-- | lib/gitlab/email/hook/email_template_interceptor.rb | 18 | ||||
-rw-r--r-- | spec/lib/gitlab/email/hook/additional_headers_interceptor_spec.rb (renamed from spec/lib/additional_email_headers_interceptor_spec.rb) | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/email/hook/disable_email_interceptor_spec.rb (renamed from spec/lib/disable_email_interceptor_spec.rb) | 2 |
11 files changed, 49 insertions, 31 deletions
diff --git a/config/initializers/additional_headers_interceptor.rb b/config/initializers/additional_headers_interceptor.rb index b9159e7c06c..fe4db2d3819 100644 --- a/config/initializers/additional_headers_interceptor.rb +++ b/config/initializers/additional_headers_interceptor.rb @@ -1 +1,2 @@ -ActionMailer::Base.register_interceptor(AdditionalEmailHeadersInterceptor) +ActionMailer::Base + .register_interceptor(::Gitlab::Email::Hook::AdditionalHeadersInterceptor) diff --git a/config/initializers/disable_email_interceptor.rb b/config/initializers/disable_email_interceptor.rb index e8770c8d460..72d6c4a53c1 100644 --- a/config/initializers/disable_email_interceptor.rb +++ b/config/initializers/disable_email_interceptor.rb @@ -1,5 +1,4 @@ -# Interceptor in lib/disable_email_interceptor.rb unless Gitlab.config.gitlab.email_enabled - ActionMailer::Base.register_interceptor(DisableEmailInterceptor) + ActionMailer::Base.register_interceptor(::Gitlab::Email::Hook::DisableEmailInterceptor) ActionMailer::Base.logger = nil end diff --git a/config/initializers/email_template_interceptor.rb b/config/initializers/email_template_interceptor.rb index f195ca9bcd6..dfa8a69b1f3 100644 --- a/config/initializers/email_template_interceptor.rb +++ b/config/initializers/email_template_interceptor.rb @@ -1,2 +1 @@ -# Interceptor in lib/email_template_interceptor.rb -ActionMailer::Base.register_interceptor(EmailTemplateInterceptor) +ActionMailer::Base.register_interceptor(::Gitlab::Email::Hook::EmailTemplateInterceptor) diff --git a/lib/additional_email_headers_interceptor.rb b/lib/additional_email_headers_interceptor.rb deleted file mode 100644 index 3cb1694b9f1..00000000000 --- a/lib/additional_email_headers_interceptor.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AdditionalEmailHeadersInterceptor - def self.delivering_email(message) - message.header['Auto-Submitted'] ||= 'auto-generated' - message.header['X-Auto-Response-Suppress'] ||= 'All' - end -end diff --git a/lib/disable_email_interceptor.rb b/lib/disable_email_interceptor.rb deleted file mode 100644 index cee664b8951..00000000000 --- a/lib/disable_email_interceptor.rb +++ /dev/null @@ -1,7 +0,0 @@ -# Read about interceptors in http://guides.rubyonrails.org/action_mailer_basics.html#intercepting-emails -class DisableEmailInterceptor - def self.delivering_email(message) - message.perform_deliveries = false - Rails.logger.info "Emails disabled! Interceptor prevented sending mail #{message.subject}" - end -end diff --git a/lib/email_template_interceptor.rb b/lib/email_template_interceptor.rb deleted file mode 100644 index 3978a6d9fe4..00000000000 --- a/lib/email_template_interceptor.rb +++ /dev/null @@ -1,11 +0,0 @@ -# Read about interceptors in http://guides.rubyonrails.org/action_mailer_basics.html#intercepting-emails -class EmailTemplateInterceptor - def self.delivering_email(message) - # Remove HTML part if HTML emails are disabled. - unless Gitlab::CurrentSettings.html_emails_enabled - message.parts.delete_if do |part| - part.content_type.start_with?('text/html') - end - end - end -end diff --git a/lib/gitlab/email/hook/additional_headers_interceptor.rb b/lib/gitlab/email/hook/additional_headers_interceptor.rb new file mode 100644 index 00000000000..064cb5e659a --- /dev/null +++ b/lib/gitlab/email/hook/additional_headers_interceptor.rb @@ -0,0 +1,12 @@ +module Gitlab + module Email + module Hook + class AdditionalHeadersInterceptor + def self.delivering_email(message) + message.header['Auto-Submitted'] ||= 'auto-generated' + message.header['X-Auto-Response-Suppress'] ||= 'All' + end + end + end + end +end diff --git a/lib/gitlab/email/hook/disable_email_interceptor.rb b/lib/gitlab/email/hook/disable_email_interceptor.rb new file mode 100644 index 00000000000..7bb8b53f0c8 --- /dev/null +++ b/lib/gitlab/email/hook/disable_email_interceptor.rb @@ -0,0 +1,13 @@ +module Gitlab + module Email + module Hook + class DisableEmailInterceptor + def self.delivering_email(message) + message.perform_deliveries = false + + Rails.logger.info "Emails disabled! Interceptor prevented sending mail #{message.subject}" + end + end + end + end +end diff --git a/lib/gitlab/email/hook/email_template_interceptor.rb b/lib/gitlab/email/hook/email_template_interceptor.rb new file mode 100644 index 00000000000..be0c4dd862e --- /dev/null +++ b/lib/gitlab/email/hook/email_template_interceptor.rb @@ -0,0 +1,18 @@ +module Gitlab + module Email + module Hook + class EmailTemplateInterceptor + ## + # Remove HTML part if HTML emails are disabled. + # + def self.delivering_email(message) + unless Gitlab::CurrentSettings.html_emails_enabled + message.parts.delete_if do |part| + part.content_type.start_with?('text/html') + end + end + end + end + end + end +end diff --git a/spec/lib/additional_email_headers_interceptor_spec.rb b/spec/lib/gitlab/email/hook/additional_headers_interceptor_spec.rb index b5c1a360ba9..ae61ece8029 100644 --- a/spec/lib/additional_email_headers_interceptor_spec.rb +++ b/spec/lib/gitlab/email/hook/additional_headers_interceptor_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe AdditionalEmailHeadersInterceptor do +describe Gitlab::Email::Hook::AdditionalHeadersInterceptor do let(:mail) do ActionMailer::Base.mail(to: 'test@mail.com', from: 'info@mail.com', body: 'hello') end diff --git a/spec/lib/disable_email_interceptor_spec.rb b/spec/lib/gitlab/email/hook/disable_email_interceptor_spec.rb index 3652d928c43..91aa3bc7c2e 100644 --- a/spec/lib/disable_email_interceptor_spec.rb +++ b/spec/lib/gitlab/email/hook/disable_email_interceptor_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe DisableEmailInterceptor do +describe Gitlab::Email::Hook::DisableEmailInterceptor do before do Mail.register_interceptor(described_class) end |