28 lines
755 B
Ruby
28 lines
755 B
Ruby
|
module Gitlab
|
||
|
module ChatCommands
|
||
|
module Presenters
|
||
|
class Help < Presenters::Base
|
||
|
def present(trigger, text)
|
||
|
ephemeral_response(text: help_message(trigger, text))
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
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
|
||
|
header_with_list("Unknown command, these commands are available", full_commands(trigger))
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def full_commands(trigger)
|
||
|
@resource.map { |command| "#{trigger} #{command.help_message}" }
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|