module StoreComplex::Accessor
Public Instance Methods
store_complex(store_name,*attr_names)
click to toggle source
# File lib/store_complex.rb, line 17 def store_complex(store_name,*attr_names) attr_names.each do |name| attr_set = name.to_s+'=' define_method(name) do value = (self.send(store_name) || {})[name.to_s] ObservableObject::deep_wrap( StoreComplex::store_to_obj(value) ) { |obj| self.send(attr_set, obj) } end define_method(attr_set) do |value| store = self.send(store_name) || {} store[name.to_s] = StoreComplex::obj_to_store(value) self.send(store_name.to_s+'=',store) end end end