Class: Buddhy::Listener

Inherits:
Object
  • Object
show all
Defined in:
lib/buddhy/listener.rb

Instance Method Summary collapse

Constructor Details

#initializeListener

Returns a new instance of Listener.



6
7
8
# File 'lib/buddhy/listener.rb', line 6

def initialize
  @rules = []
end

Instance Method Details

#execute(line) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/buddhy/listener.rb', line 10

def execute(line)
  @rules.each do |rule|
    if rule[:pattern].match(line)
      message = Message.new(line)
      return rule[:block].call(message)
    end
  end
end

#register(pattern, &block) ⇒ Object



19
20
21
# File 'lib/buddhy/listener.rb', line 19

def register(pattern, &block)
  @rules.push({ :pattern => pattern, :block => block }) && @rules.last
end