Module: Blur::Commands

Defined in:
library/blur/script.rb

Defined Under Namespace

Modules: ClassMethods Classes: CommandLUT

Class Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'library/blur/script.rb', line 36

def self.included klass
  class << klass
    attr_accessor :command_lut
  end

  klass.extend ClassMethods
  klass.command_lut = CommandLUT.new
  klass.register! message: -> (script, user, channel, line) {
    command, args = line.split ' ', 2
    return unless command

    if id = klass.command_lut.commands[command.downcase]
      script.__send__ :"_command_#{id}", user, channel, args
    end
  }
end