module Mobx::Extension::ClassMethods
Public Instance Methods
observable(attr_name, value=nil)
click to toggle source
# File lib/mobx/extension.rb, line 4 def observable(attr_name, value=nil) define_method(attr_name) do @__mobx_observables ||= {} @__mobx_observables[attr_name] ||= Mobx::Observable.new(value) @__mobx_observables[attr_name].get end define_method("#{attr_name}=") do |value| @__mobx_observables ||= {} if @__mobx_observables.has_key?(attr_name) @__mobx_observables[attr_name].set(value) else @__mobx_observables[attr_name] = Mobx::Observable.new(value) end end end