Fix a Ruby 2.4 incompatibility in Ci::CreatePipelineService

Signed-off-by: Rémy Coutable <remy@rymai.me>
This commit is contained in:
Rémy Coutable 2019-02-12 17:46:13 +01:00
parent b753fc6dad
commit 55e488d6d5
No known key found for this signature in database
GPG key ID: 98DFFD1C0C62B70B

View file

@ -36,7 +36,7 @@ module Ci
project: project,
current_user: current_user,
push_options: params[:push_options],
**extra_options(**options))
**extra_options(options))
sequence = Gitlab::Ci::Pipeline::Chain::Sequence
.new(pipeline, command, SEQUENCE)
@ -108,7 +108,12 @@ module Ci
end
# rubocop: enable CodeReuse/ActiveRecord
def extra_options
def extra_options(options = {})
# In Ruby 2.4, even when options is empty, f(**options) doesn't work when f
# doesn't have any parameters. We reproduce the Ruby 2.5 behavior by
# checking explicitely that no arguments are given.
raise ArgumentError if options.any?
{} # overriden in EE
end
end