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