module ActivePStore::Persistence
Attributes
id[R]
Public Instance Methods
destroy()
click to toggle source
# File lib/active_pstore/persistence.rb, line 7 def destroy ActivePStore::Base.use_connection do |connection| connection[self.class.pstore_key].delete_if {|obj| obj.id == self.id } end self end
new_record?()
click to toggle source
# File lib/active_pstore/persistence.rb, line 15 def new_record? @id.nil? end
persisted?()
click to toggle source
# File lib/active_pstore/persistence.rb, line 19 def persisted? !new_record? end
save()
click to toggle source
# File lib/active_pstore/persistence.rb, line 23 def save ActivePStore::Base.use_connection do |connection| if new_record? @id = SecureRandom.hex if connection[self.class.pstore_key] connection[self.class.pstore_key] << self else connection[self.class.pstore_key] = [self] end else connection[self.class.pstore_key].map! {|obj| obj.id == self.id ? self : obj } end end true end
update(attrs)
click to toggle source
# File lib/active_pstore/persistence.rb, line 47 def update(attrs) attrs.each do |attr_name, attr_value| self.public_send("#{attr_name}=", attr_value) end save end
Also aliased as: update_attributes
update_attribute(attr_name, attr_value)
click to toggle source
# File lib/active_pstore/persistence.rb, line 41 def update_attribute(attr_name, attr_value) self.public_send("#{attr_name}=", attr_value) save end