module Barrymore::ClassMethods
Class-level DSL
Public Instance Methods
command_defined?(arg)
click to toggle source
arg [Message|String]
# File lib/barrymore/class_methods.rb, line 18 def command_defined?(arg) name = arg.is_a?(String) ? arg : arg.text barrymore_commands.key?(name) end
define_command(name, &block)
click to toggle source
# File lib/barrymore/class_methods.rb, line 6 def define_command(name, &block) raise(ArgumentError, 'no block given') unless block barrymore_commands[name] = BotCommand.new(name, &block) end
define_command_continuation(name, &block)
click to toggle source
# File lib/barrymore/class_methods.rb, line 11 def define_command_continuation(name, &block) raise(ArgumentError, 'no block given') unless block raise(UndefinedCommandError, name) unless command_defined?(name) get_barrymore_command(name).continuation = block end
Private Instance Methods
barrymore_commands()
click to toggle source
# File lib/barrymore/class_methods.rb, line 36 def barrymore_commands @barrymore_commands ||= {} end
get_barrymore_command(arg)
click to toggle source
arg [Message|String]
# File lib/barrymore/class_methods.rb, line 31 def get_barrymore_command(arg) name = arg.is_a?(String) ? arg : arg.text barrymore_commands[name] end