Clean up code by using keyword arguments.
This commit is contained in:
parent
bf235053ad
commit
b13bed62ea
4 changed files with 28 additions and 16 deletions
|
@ -16,7 +16,13 @@ module Emails
|
||||||
subject: subject("Project was moved"))
|
subject: subject("Project was moved"))
|
||||||
end
|
end
|
||||||
|
|
||||||
def repository_push_email(project_id, recipient, author_id, ref, action, compare, reverse_compare = false, send_from_committer_email = false, disable_diffs = false)
|
def repository_push_email(project_id, recipient, author_id:,
|
||||||
|
ref:,
|
||||||
|
action:,
|
||||||
|
compare: nil,
|
||||||
|
reverse_compare: false,
|
||||||
|
send_from_committer_email: false,
|
||||||
|
disable_diffs: false)
|
||||||
@project = Project.find(project_id)
|
@project = Project.find(project_id)
|
||||||
@author = User.find(author_id)
|
@author = User.find(author_id)
|
||||||
@reverse_compare = reverse_compare
|
@reverse_compare = reverse_compare
|
||||||
|
|
|
@ -42,7 +42,13 @@ class EmailsOnPushService < Service
|
||||||
def execute(push_data)
|
def execute(push_data)
|
||||||
return unless supported_events.include?(push_data[:object_kind])
|
return unless supported_events.include?(push_data[:object_kind])
|
||||||
|
|
||||||
EmailsOnPushWorker.perform_async(project_id, recipients, push_data, send_from_committer_email?, disable_diffs?)
|
EmailsOnPushWorker.perform_async(
|
||||||
|
project_id,
|
||||||
|
recipients,
|
||||||
|
push_data,
|
||||||
|
send_from_committer_email: send_from_committer_email?,
|
||||||
|
disable_diffs: disable_diffs?
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def send_from_committer_email?
|
def send_from_committer_email?
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class EmailsOnPushWorker
|
class EmailsOnPushWorker
|
||||||
include Sidekiq::Worker
|
include Sidekiq::Worker
|
||||||
|
|
||||||
def perform(project_id, recipients, push_data, send_from_committer_email = false, disable_diffs = false)
|
def perform(project_id, recipients, push_data, send_from_committer_email: false, disable_diffs: false)
|
||||||
project = Project.find(project_id)
|
project = Project.find(project_id)
|
||||||
before_sha = push_data["before"]
|
before_sha = push_data["before"]
|
||||||
after_sha = push_data["after"]
|
after_sha = push_data["after"]
|
||||||
|
@ -37,13 +37,13 @@ class EmailsOnPushWorker
|
||||||
Notify.repository_push_email(
|
Notify.repository_push_email(
|
||||||
project_id,
|
project_id,
|
||||||
recipient,
|
recipient,
|
||||||
author_id,
|
author_id: author_id,
|
||||||
ref,
|
ref: ref,
|
||||||
action,
|
action: action,
|
||||||
compare,
|
compare: compare,
|
||||||
reverse_compare,
|
reverse_compare: reverse_compare,
|
||||||
send_from_committer_email,
|
send_from_committer_email: send_from_committer_email,
|
||||||
disable_diffs
|
disable_diffs: disable_diffs
|
||||||
).deliver
|
).deliver
|
||||||
end
|
end
|
||||||
ensure
|
ensure
|
||||||
|
|
|
@ -645,7 +645,7 @@ describe Notify do
|
||||||
let(:user) { create(:user) }
|
let(:user) { create(:user) }
|
||||||
let(:tree_path) { namespace_project_tree_path(project.namespace, project, "master") }
|
let(:tree_path) { namespace_project_tree_path(project.namespace, project, "master") }
|
||||||
|
|
||||||
subject { Notify.repository_push_email(project.id, 'devs@company.name', user.id, 'refs/heads/master', :create, nil) }
|
subject { Notify.repository_push_email(project.id, 'devs@company.name', author_id: user.id, ref: 'refs/heads/master', action: :create) }
|
||||||
|
|
||||||
it 'is sent as the author' do
|
it 'is sent as the author' do
|
||||||
sender = subject.header[:from].addrs[0]
|
sender = subject.header[:from].addrs[0]
|
||||||
|
@ -671,7 +671,7 @@ describe Notify do
|
||||||
let(:user) { create(:user) }
|
let(:user) { create(:user) }
|
||||||
let(:tree_path) { namespace_project_tree_path(project.namespace, project, "v1.0") }
|
let(:tree_path) { namespace_project_tree_path(project.namespace, project, "v1.0") }
|
||||||
|
|
||||||
subject { Notify.repository_push_email(project.id, 'devs@company.name', user.id, 'refs/tags/v1.0', :create, nil) }
|
subject { Notify.repository_push_email(project.id, 'devs@company.name', author_id: user.id, ref: 'refs/tags/v1.0', action: :create) }
|
||||||
|
|
||||||
it 'is sent as the author' do
|
it 'is sent as the author' do
|
||||||
sender = subject.header[:from].addrs[0]
|
sender = subject.header[:from].addrs[0]
|
||||||
|
@ -696,7 +696,7 @@ describe Notify do
|
||||||
let(:example_site_path) { root_path }
|
let(:example_site_path) { root_path }
|
||||||
let(:user) { create(:user) }
|
let(:user) { create(:user) }
|
||||||
|
|
||||||
subject { Notify.repository_push_email(project.id, 'devs@company.name', user.id, 'refs/heads/master', :delete, nil) }
|
subject { Notify.repository_push_email(project.id, 'devs@company.name', author_id: user.id, ref: 'refs/heads/master', action: :delete) }
|
||||||
|
|
||||||
it 'is sent as the author' do
|
it 'is sent as the author' do
|
||||||
sender = subject.header[:from].addrs[0]
|
sender = subject.header[:from].addrs[0]
|
||||||
|
@ -717,7 +717,7 @@ describe Notify do
|
||||||
let(:example_site_path) { root_path }
|
let(:example_site_path) { root_path }
|
||||||
let(:user) { create(:user) }
|
let(:user) { create(:user) }
|
||||||
|
|
||||||
subject { Notify.repository_push_email(project.id, 'devs@company.name', user.id, 'refs/tags/v1.0', :delete, nil) }
|
subject { Notify.repository_push_email(project.id, 'devs@company.name', author_id: user.id, ref: 'refs/tags/v1.0', action: :delete) }
|
||||||
|
|
||||||
it 'is sent as the author' do
|
it 'is sent as the author' do
|
||||||
sender = subject.header[:from].addrs[0]
|
sender = subject.header[:from].addrs[0]
|
||||||
|
@ -742,7 +742,7 @@ describe Notify do
|
||||||
let(:diff_path) { namespace_project_compare_path(project.namespace, project, from: Commit.new(compare.base), to: Commit.new(compare.head)) }
|
let(:diff_path) { namespace_project_compare_path(project.namespace, project, from: Commit.new(compare.base), to: Commit.new(compare.head)) }
|
||||||
let(:send_from_committer_email) { false }
|
let(:send_from_committer_email) { false }
|
||||||
|
|
||||||
subject { Notify.repository_push_email(project.id, 'devs@company.name', user.id, 'refs/heads/master', :push, compare, false, send_from_committer_email) }
|
subject { Notify.repository_push_email(project.id, 'devs@company.name', author_id: user.id, ref: 'refs/heads/master', action: :push, compare: compare, reverse_compare: false, send_from_committer_email: send_from_committer_email) }
|
||||||
|
|
||||||
it 'is sent as the author' do
|
it 'is sent as the author' do
|
||||||
sender = subject.header[:from].addrs[0]
|
sender = subject.header[:from].addrs[0]
|
||||||
|
@ -830,7 +830,7 @@ describe Notify do
|
||||||
let(:commits) { Commit.decorate(compare.commits) }
|
let(:commits) { Commit.decorate(compare.commits) }
|
||||||
let(:diff_path) { namespace_project_commit_path(project.namespace, project, commits.first) }
|
let(:diff_path) { namespace_project_commit_path(project.namespace, project, commits.first) }
|
||||||
|
|
||||||
subject { Notify.repository_push_email(project.id, 'devs@company.name', user.id, 'refs/heads/master', :push, compare) }
|
subject { Notify.repository_push_email(project.id, 'devs@company.name', author_id: user.id, ref: 'refs/heads/master', action: :push, compare: compare) }
|
||||||
|
|
||||||
it 'is sent as the author' do
|
it 'is sent as the author' do
|
||||||
sender = subject.header[:from].addrs[0]
|
sender = subject.header[:from].addrs[0]
|
||||||
|
|
Loading…
Reference in a new issue