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"))
|
||||
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)
|
||||
@author = User.find(author_id)
|
||||
@reverse_compare = reverse_compare
|
||||
|
|
|
@ -42,7 +42,13 @@ class EmailsOnPushService < Service
|
|||
def execute(push_data)
|
||||
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
|
||||
|
||||
def send_from_committer_email?
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
class EmailsOnPushWorker
|
||||
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)
|
||||
before_sha = push_data["before"]
|
||||
after_sha = push_data["after"]
|
||||
|
@ -37,13 +37,13 @@ class EmailsOnPushWorker
|
|||
Notify.repository_push_email(
|
||||
project_id,
|
||||
recipient,
|
||||
author_id,
|
||||
ref,
|
||||
action,
|
||||
compare,
|
||||
reverse_compare,
|
||||
send_from_committer_email,
|
||||
disable_diffs
|
||||
author_id: author_id,
|
||||
ref: ref,
|
||||
action: action,
|
||||
compare: compare,
|
||||
reverse_compare: reverse_compare,
|
||||
send_from_committer_email: send_from_committer_email,
|
||||
disable_diffs: disable_diffs
|
||||
).deliver
|
||||
end
|
||||
ensure
|
||||
|
|
|
@ -645,7 +645,7 @@ describe Notify do
|
|||
let(:user) { create(:user) }
|
||||
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
|
||||
sender = subject.header[:from].addrs[0]
|
||||
|
@ -671,7 +671,7 @@ describe Notify do
|
|||
let(:user) { create(:user) }
|
||||
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
|
||||
sender = subject.header[:from].addrs[0]
|
||||
|
@ -696,7 +696,7 @@ describe Notify do
|
|||
let(:example_site_path) { root_path }
|
||||
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
|
||||
sender = subject.header[:from].addrs[0]
|
||||
|
@ -717,7 +717,7 @@ describe Notify do
|
|||
let(:example_site_path) { root_path }
|
||||
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
|
||||
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(: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
|
||||
sender = subject.header[:from].addrs[0]
|
||||
|
@ -830,7 +830,7 @@ describe Notify do
|
|||
let(:commits) { Commit.decorate(compare.commits) }
|
||||
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
|
||||
sender = subject.header[:from].addrs[0]
|
||||
|
|
Loading…
Reference in a new issue