4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 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
|