class React::Observable
Public Class Methods
new(value, on_change = nil, &block)
click to toggle source
# File lib/react/observable.rb, line 3 def initialize(value, on_change = nil, &block) @value = value @on_change = on_change || block end
Public Instance Methods
call(new_value)
click to toggle source
# File lib/react/observable.rb, line 20 def call(new_value) @on_change.call new_value @value = new_value end
method_missing(method_sym, *args, &block)
click to toggle source
# File lib/react/observable.rb, line 8 def method_missing(method_sym, *args, &block) @value.send(method_sym, *args, &block).tap { |result| @on_change.call @value } end
respond_to?(method, *args)
click to toggle source
# File lib/react/observable.rb, line 12 def respond_to?(method, *args) if [:call, :to_proc].include? method true else @value.respond_to? method, *args end end
to_proc()
click to toggle source
# File lib/react/observable.rb, line 25 def to_proc lambda { |arg = @value| @on_change.call arg } end