Class: MatrixSdk::EventHandlerArray
- Inherits:
-
Hash
- Object
- Hash
- MatrixSdk::EventHandlerArray
- Defined in:
- lib/matrix_sdk/extensions.rb
Instance Method Summary collapse
- #add_handler(filter = nil, id = nil, &block) ⇒ Object
- #fire(event, filter = nil) ⇒ Object
- #remove_handler(id) ⇒ Object
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 |