Class: SlackRubyBotAuthorization::Command
- Inherits:
-
Object
- Object
- SlackRubyBotAuthorization::Command
show all
- Includes:
- Utils
- Defined in:
- lib/slack_ruby_bot_authorization/command.rb
Overview
Store the command name and keep track of any denial handlers for this command.
Constant Summary
Constants included
from Utils
Utils::EmptyDenialProc
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Utils
#extract_command, #extract_details, #extract_user, #normalize_string
Constructor Details
#initialize(name) ⇒ Command
Returns a new instance of Command.
9
10
11
12
13
|
# File 'lib/slack_ruby_bot_authorization/command.rb', line 9
def initialize(name)
@name = normalize_string(name)
@denial_handler = EmptyDenialProc
@audit = CommandAudit.new(@name)
end
|
Instance Attribute Details
#denial_handler ⇒ Object
Returns the value of attribute denial_handler.
7
8
9
|
# File 'lib/slack_ruby_bot_authorization/command.rb', line 7
def denial_handler
@denial_handler
end
|
#name ⇒ Object
Returns the value of attribute name.
7
8
9
|
# File 'lib/slack_ruby_bot_authorization/command.rb', line 7
def name
@name
end
|
Instance Method Details
#add_denial_handler(aproc) ⇒ Object
15
16
17
18
19
20
21
|
# File 'lib/slack_ruby_bot_authorization/command.rb', line 15
def add_denial_handler(aproc)
unless aproc.arity == 3
raise(DenialProcArityException, 'Must accept 3 arguments')
end
@denial_handler = aproc
end
|
#call_denial_handler(client, data, match) ⇒ Object
27
28
29
|
# File 'lib/slack_ruby_bot_authorization/command.rb', line 27
def call_denial_handler(client, data, match)
@denial_handler.call(client, data, match)
end
|
#print_stats ⇒ Object
43
44
45
|
# File 'lib/slack_ruby_bot_authorization/command.rb', line 43
def print_stats
@audit.inspect
end
|
#record_allowance(user) ⇒ Object
31
32
33
|
# File 'lib/slack_ruby_bot_authorization/command.rb', line 31
def record_allowance(user)
@audit.allow(user)
end
|
#record_denial(user) ⇒ Object
35
36
37
|
# File 'lib/slack_ruby_bot_authorization/command.rb', line 35
def record_denial(user)
@audit.deny(user)
end
|
#remove_denial_handler ⇒ Object
23
24
25
|
# File 'lib/slack_ruby_bot_authorization/command.rb', line 23
def remove_denial_handler
@denial_handler = Utils::EmptyDenialProc
end
|
#stats_for(user) ⇒ Object
39
40
41
|
# File 'lib/slack_ruby_bot_authorization/command.rb', line 39
def stats_for(user)
@audit.stats_for(user)
end
|