class Mobx::Autorun
Attributes
disposed[R]
observables[R]
Public Class Methods
new(block)
click to toggle source
# File lib/mobx/autorun.rb, line 5 def initialize(block) @block = block @observables = [] @disposed = false end
Public Instance Methods
call()
click to toggle source
# File lib/mobx/autorun.rb, line 11 def call @block.call unless disposed end
dispose()
click to toggle source
# File lib/mobx/autorun.rb, line 25 def dispose @observables.each { |observable| observable.dispose(self) } @observables = [] @disposed = true end
register_observable(observable)
click to toggle source
# File lib/mobx/autorun.rb, line 15 def register_observable(observable) raise 'Trying to register a disposed Autorun' if disposed unless @observables.include?(observable) @observables << observable @observables.uniq! observable.register_observer(self) end end