Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorZ.J. van de Weg <git@zjvandeweg.nl>2017-01-30 14:12:57 +0300
committerZ.J. van de Weg <git@zjvandeweg.nl>2017-01-30 22:37:06 +0300
commitd7f298c177555a09ac06acc9ad037611f664cc9e (patch)
treecb621dab7cf93ae7f40f4876e9325ace8d65a25c /lib
parent3df15b956f17034c0c012cf18498a0385e905c08 (diff)
Incorporate feedback
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/chat_commands/command.rb2
-rw-r--r--lib/gitlab/chat_commands/help.rb4
-rw-r--r--lib/gitlab/chat_commands/presenters/access.rb14
-rw-r--r--lib/gitlab/chat_commands/presenters/help.rb12
-rw-r--r--lib/gitlab/chat_commands/presenters/issue_new.rb4
-rw-r--r--lib/gitlab/chat_commands/presenters/issue_search.rb4
-rw-r--r--lib/gitlab/chat_commands/presenters/issue_show.rb11
7 files changed, 38 insertions, 13 deletions
diff --git a/lib/gitlab/chat_commands/command.rb b/lib/gitlab/chat_commands/command.rb
index e7baa20356c..f34ed0f4cf2 100644
--- a/lib/gitlab/chat_commands/command.rb
+++ b/lib/gitlab/chat_commands/command.rb
@@ -18,7 +18,7 @@ module Gitlab
Gitlab::ChatCommands::Presenters::Access.new.access_denied
end
else
- Gitlab::ChatCommands::Help.new(project, current_user, params).execute(available_commands)
+ Gitlab::ChatCommands::Help.new(project, current_user, params).execute(available_commands, params[:text])
end
end
diff --git a/lib/gitlab/chat_commands/help.rb b/lib/gitlab/chat_commands/help.rb
index e76733f5445..6c0e4d304a4 100644
--- a/lib/gitlab/chat_commands/help.rb
+++ b/lib/gitlab/chat_commands/help.rb
@@ -16,8 +16,8 @@ module Gitlab
true
end
- def execute(commands)
- Gitlab::ChatCommands::Presenters::Help.new(commands).present(trigger)
+ def execute(commands, text)
+ Gitlab::ChatCommands::Presenters::Help.new(commands).present(trigger, text)
end
def trigger
diff --git a/lib/gitlab/chat_commands/presenters/access.rb b/lib/gitlab/chat_commands/presenters/access.rb
index b66ef48d6a8..92f4fa17f78 100644
--- a/lib/gitlab/chat_commands/presenters/access.rb
+++ b/lib/gitlab/chat_commands/presenters/access.rb
@@ -20,6 +20,20 @@ module Gitlab
ephemeral_response(text: message)
end
+
+ def unknown_command(commands)
+ ephemeral_response(text: help_message(trigger))
+ end
+
+ private
+
+ def help_message(trigger)
+ header_with_list("Command not found, these are the commands you can use", full_commands(trigger))
+ end
+
+ def full_commands(trigger)
+ @resource.map { |command| "#{trigger} #{command.help_message}" }
+ end
end
end
end
diff --git a/lib/gitlab/chat_commands/presenters/help.rb b/lib/gitlab/chat_commands/presenters/help.rb
index 39ad3249f5b..cd47b7f4c6a 100644
--- a/lib/gitlab/chat_commands/presenters/help.rb
+++ b/lib/gitlab/chat_commands/presenters/help.rb
@@ -2,17 +2,19 @@ module Gitlab
module ChatCommands
module Presenters
class Help < Presenters::Base
- def present(trigger)
- ephemeral_response(text: help_message(trigger))
+ def present(trigger, text)
+ ephemeral_response(text: help_message(trigger, text))
end
private
- def help_message(trigger)
- if @resource.present?
+ def help_message(trigger, text)
+ return "No commands available :thinking_face:" unless @resource.present?
+
+ if text.start_with?('help')
header_with_list("Available commands", full_commands(trigger))
else
- "No commands available :thinking_face:"
+ header_with_list("Unknown command, these commands are available", full_commands(trigger))
end
end
diff --git a/lib/gitlab/chat_commands/presenters/issue_new.rb b/lib/gitlab/chat_commands/presenters/issue_new.rb
index d26dd22b2a0..6e88e0574a3 100644
--- a/lib/gitlab/chat_commands/presenters/issue_new.rb
+++ b/lib/gitlab/chat_commands/presenters/issue_new.rb
@@ -24,7 +24,9 @@ module Gitlab
fields: fields,
mrkdwn_in: [
:title,
- :text
+ :pretext,
+ :text,
+ :fields
]
}
]
diff --git a/lib/gitlab/chat_commands/presenters/issue_search.rb b/lib/gitlab/chat_commands/presenters/issue_search.rb
index d58a6d6114a..3478359b91d 100644
--- a/lib/gitlab/chat_commands/presenters/issue_search.rb
+++ b/lib/gitlab/chat_commands/presenters/issue_search.rb
@@ -7,6 +7,8 @@ module Gitlab
def present
text = if @resource.count >= 5
"Here are the first 5 issues I found:"
+ elsif @resource.one?
+ "Here is the only issue I found:"
else
"Here are the #{@resource.count} issues I found:"
end
@@ -26,7 +28,7 @@ module Gitlab
text: "#{url} ยท #{issue.title} (#{status_text(issue)})",
mrkdwn_in: [
- "text"
+ :text
]
}
end
diff --git a/lib/gitlab/chat_commands/presenters/issue_show.rb b/lib/gitlab/chat_commands/presenters/issue_show.rb
index 2fc671f13a6..fe5847ccd15 100644
--- a/lib/gitlab/chat_commands/presenters/issue_show.rb
+++ b/lib/gitlab/chat_commands/presenters/issue_show.rb
@@ -5,7 +5,11 @@ module Gitlab
include Presenters::Issuable
def present
- in_channel_response(show_issue)
+ if @resource.confidential?
+ ephemeral_response(show_issue)
+ else
+ in_channel_response(show_issue)
+ end
end
private
@@ -25,7 +29,8 @@ module Gitlab
fields: fields,
mrkdwn_in: [
:pretext,
- :text
+ :text,
+ :fields
]
}
]
@@ -48,7 +53,7 @@ module Gitlab
end
def pretext
- "Issue *#{@resource.to_reference} from #{project.name_with_namespace}"
+ "Issue *#{@resource.to_reference}* from #{project.name_with_namespace}"
end
end
end