diff options
author | Sean McGivern <sean@gitlab.com> | 2016-05-06 13:16:53 +0100 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2016-05-11 09:16:01 +0100 |
commit | 5f27e26bb4d073c04fd6d3f4116fc1a122db8c00 (patch) | |
tree | a0fea0df79f8e8fae17eb2d5bb1caed099d9b490 /lib/gitlab/email/message | |
parent | 48c80fdf43e44ae003753c81a832fc2c0eafdb5d (diff) | |
download | gitlab-ce-5f27e26bb4d073c04fd6d3f4116fc1a122db8c00.tar.gz |
Only generate repository push email once
The repository push email can be very expensive to generate, especially
with syntax-highlighted diffs. Instead of generating the email for each
recipient, generate one email object and reset the Message-Id and To
headers for each recipient. (Cloning would also be expensive in the case
of large emails, although probably not as bad as generating from
scratch.)
Diffstat (limited to 'lib/gitlab/email/message')
-rw-r--r-- | lib/gitlab/email/message/repository_push.rb | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/gitlab/email/message/repository_push.rb b/lib/gitlab/email/message/repository_push.rb index 8f9be6cd9a3..2c91a0487c3 100644 --- a/lib/gitlab/email/message/repository_push.rb +++ b/lib/gitlab/email/message/repository_push.rb @@ -2,7 +2,6 @@ module Gitlab module Email module Message class RepositoryPush - attr_accessor :recipient attr_reader :author_id, :ref, :action include Gitlab::Routing.url_helpers @@ -11,13 +10,12 @@ module Gitlab delegate :name, to: :author, prefix: :author delegate :username, to: :author, prefix: :author - def initialize(notify, project_id, recipient, opts = {}) + def initialize(notify, project_id, opts = {}) raise ArgumentError, 'Missing options: author_id, ref, action' unless opts[:author_id] && opts[:ref] && opts[:action] @notify = notify @project_id = project_id - @recipient = recipient @opts = opts.dup @author_id = @opts.delete(:author_id) |