summaryrefslogtreecommitdiff
path: root/lib/gitlab/slash_commands/command_definition.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2016-08-18 14:21:52 -0500
committerDouwe Maan <douwe@selenight.nl>2016-08-18 14:29:49 -0500
commit2703330a19e813351e9c33241a59d6b7f54741df (patch)
tree0caa4c5a119b165fd4fe9e3712f0de5caffa403e /lib/gitlab/slash_commands/command_definition.rb
parent6f2f2a6baae128cd4f8111d91bdcfb7b76e39b97 (diff)
downloadgitlab-ce-2703330a19e813351e9c33241a59d6b7f54741df.tar.gz
Fix behavior around commands with optional arguments4273-slash-commands
Diffstat (limited to 'lib/gitlab/slash_commands/command_definition.rb')
-rw-r--r--lib/gitlab/slash_commands/command_definition.rb11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/gitlab/slash_commands/command_definition.rb b/lib/gitlab/slash_commands/command_definition.rb
index 2ff8f4eddf0..60d35be2599 100644
--- a/lib/gitlab/slash_commands/command_definition.rb
+++ b/lib/gitlab/slash_commands/command_definition.rb
@@ -28,13 +28,14 @@ module Gitlab
context.instance_exec(&condition_block)
end
- def execute(context, opts, args)
+ def execute(context, opts, arg)
return if noop? || !available?(opts)
- block_arity = action_block.arity
- return unless (args.present? && block_arity == 1) || (args.blank? && block_arity <= 0)
-
- context.instance_exec(args, &action_block)
+ if arg.present?
+ context.instance_exec(arg, &action_block)
+ elsif action_block.arity == 0
+ context.instance_exec(&action_block)
+ end
end
def to_h(opts)