41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
module Gitlab
 | 
						|
  module ChatCommands
 | 
						|
    module Presenters
 | 
						|
      class Access < Presenters::Base
 | 
						|
        def access_denied
 | 
						|
          ephemeral_response(text: "Whoops! This action is not allowed. This incident will be [reported](https://xkcd.com/838/).")
 | 
						|
        end
 | 
						|
 | 
						|
        def not_found
 | 
						|
          ephemeral_response(text: "404 not found! GitLab couldn't find what you were looking for! :boom:")
 | 
						|
        end
 | 
						|
 | 
						|
        def authorize
 | 
						|
          message =
 | 
						|
            if @resource
 | 
						|
              ":wave: Hi there! Before I do anything for you, please [connect your GitLab account](#{@resource})."
 | 
						|
            else
 | 
						|
              ":sweat_smile: Couldn't identify you, nor can I autorize you!"
 | 
						|
            end
 | 
						|
 | 
						|
          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
 | 
						|
end
 |