Clean up code by using keyword arguments.

This commit is contained in:
Douwe Maan 2015-03-23 15:00:12 +01:00
parent bf235053ad
commit b13bed62ea
4 changed files with 28 additions and 16 deletions

View file

@ -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

View file

@ -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?

View file

@ -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

View file

@ -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]