Module: Barrymore::ClassMethods

Defined in:
lib/barrymore/class_methods.rb

Overview

Class-level DSL

Instance Method Summary collapse

Instance Method Details

#command_defined?(arg) ⇒ Boolean

arg [Message|String]

Returns:

  • (Boolean)


18
19
20
21
# 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) ⇒ Object

Raises:

  • (ArgumentError)


6
7
8
9
# 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) ⇒ Object

Raises:

  • (ArgumentError)


11
12
13
14
15
# 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