Class: Dommy::Internal::ObserverManager

Inherits:
Object
  • Object
show all
Defined in:
lib/dommy/internal/observer_manager.rb

Overview

Manages MutationObserver registration and matching. Filters observers based on mutation target to avoid unnecessary lookups.

Instance Method Summary collapse

Constructor Details

#initializeObserverManager

Returns a new instance of ObserverManager.



8
9
10
# File 'lib/dommy/internal/observer_manager.rb', line 8

def initialize
  @observers = []
end

Instance Method Details

#allObject



26
27
28
# File 'lib/dommy/internal/observer_manager.rb', line 26

def all
  @observers.dup
end

#observers_matching(target_wrapped) ⇒ Object

Returns all observers that match the given wrapped target. Delegates to each observer’s matches_wrapped? method.



22
23
24
# File 'lib/dommy/internal/observer_manager.rb', line 22

def observers_matching(target_wrapped)
  @observers.select { |observer| observer.matches_wrapped?(target_wrapped) }
end

#register(observer) ⇒ Object



12
13
14
# File 'lib/dommy/internal/observer_manager.rb', line 12

def register(observer)
  @observers << observer unless @observers.include?(observer)
end

#unregister(observer) ⇒ Object



16
17
18
# File 'lib/dommy/internal/observer_manager.rb', line 16

def unregister(observer)
  @observers.delete(observer)
end