lib/ohm.rb in ohm-0.0.21 vs lib/ohm.rb in ohm-0.0.22

- old
+ new

@@ -1,5 +1,7 @@ +# encoding: UTF-8 + require "base64" require File.join(File.dirname(__FILE__), "ohm", "redis") require File.join(File.dirname(__FILE__), "ohm", "validations") module Ohm @@ -471,22 +473,22 @@ return unless valid? initialize_id mutex do create_model_membership - add_to_indices write + add_to_indices end end def save return create if new? return unless valid? mutex do - update_indices write + update_indices end end def update(attrs) update_attributes(attrs) @@ -561,11 +563,10 @@ self.class.key(id, *args) end def write attributes.each { |att| write_remote(att, send(att)) } - self end private def self.db @@ -646,10 +647,12 @@ def read_remote(att) id && db.get(key(att)) end def write_remote(att, value) - db.set(key(att), value) + value.nil? ? + db.del(key(att)) : + db.set(key(att), value) end def read_locals(attrs) attrs.map do |att| send(att)