diff options
author | Douwe Maan <douwe@selenight.nl> | 2016-08-18 14:21:52 -0500 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2016-08-18 14:29:49 -0500 |
commit | 2703330a19e813351e9c33241a59d6b7f54741df (patch) | |
tree | 0caa4c5a119b165fd4fe9e3712f0de5caffa403e /lib/gitlab/slash_commands/command_definition.rb | |
parent | 6f2f2a6baae128cd4f8111d91bdcfb7b76e39b97 (diff) | |
download | gitlab-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.rb | 11 |
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) |