class Noam::MessageFilter

Public Class Methods

new() click to toggle source
# File lib/noam_lemma/message_filter.rb, line 3
def initialize
  @hears = {}
end

Public Instance Methods

hear(event_name, &block) click to toggle source
# File lib/noam_lemma/message_filter.rb, line 7
def hear(event_name, &block)
  @hears[event_name] ||= []
  @hears[event_name] << block
end
hears() click to toggle source
# File lib/noam_lemma/message_filter.rb, line 20
def hears
  @hears.keys.uniq
end
receive(message) click to toggle source
# File lib/noam_lemma/message_filter.rb, line 12
def receive(message)
  blocks = @hears[message.event] || []
  blocks.each do |block|
    block.call(message)
  end
  message
end