Class: MatrixSdk::EventHandlerArray

Inherits:
Hash
  • Object
show all
Defined in:
lib/matrix_sdk/extensions.rb

Instance Method Summary collapse

Instance Method Details

#add_handler(filter = nil, id = nil, &block) ⇒ Object



62
63
64
65
# File 'lib/matrix_sdk/extensions.rb', line 62

def add_handler(filter = nil, id = nil, &block)
  id ||= block.hash
  self[id] = { filter: filter, id: id, block: block }
end

#fire(event, filter = nil) ⇒ Object



71
72
73
74
75
# File 'lib/matrix_sdk/extensions.rb', line 71

def fire(event, filter = nil)
  reverse_each do |_k, h|
    h[:block].call(event) unless event.matches?(h[:filter], filter)
  end
end

#remove_handler(id) ⇒ Object



67
68
69
# File 'lib/matrix_sdk/extensions.rb', line 67

def remove_handler(id)
  delete id
end