module Volt::ReactiveAccessors::ClassMethods
Public Instance Methods
reactive_accessor(*names)
click to toggle source
# File lib/volt/reactive/reactive_accessors.rb, line 31 def reactive_accessor(*names) reactive_reader(*names) reactive_writer(*names) end
reactive_reader(*names)
click to toggle source
Create a method to read a reactive value from an instance value. If it is not setup, create it so it can be updated through the reactive value at a later point.
# File lib/volt/reactive/reactive_accessors.rb, line 7 def reactive_reader(*names) names.each do |name| var_name = :"@#{name}" define_method(name.to_sym) do value = instance_variable_get(var_name) __reactive_dependency_get(name).depend value end end end
reactive_writer(*names)
click to toggle source
# File lib/volt/reactive/reactive_accessors.rb, line 20 def reactive_writer(*names) names.each do |name| var_name = :"@#{name}" define_method("#{name}=") do |new_value| instance_variable_set(var_name, new_value) __reactive_dependency_get(name).changed! end end end