module ActiveRedis::Save
Public Instance Methods
new_record?()
click to toggle source
# File lib/active_redis/save.rb, line 22 def new_record? !!@new_record end
save(options={})
click to toggle source
TODO: add if valid?
# File lib/active_redis/save.rb, line 4 def save(options={}) unless options[:validate] == false return false if invalid?(save_context) end if dirty? case save_context when :create perform_create when :update perform_update end true else false end end
Private Instance Methods
perform_create()
click to toggle source
# File lib/active_redis/save.rb, line 50 def perform_create #TODO: check if no object exists under that id @id ||= SecureRandom.uuid().delete('-') run_callbacks :create do perform_save end end
perform_save()
click to toggle source
# File lib/active_redis/save.rb, line 28 def perform_save run_callbacks :save do self.class.redis.pipelined do self.changes.each do |key, value| if value.last.nil? send("#{key}_object").delete else send("set_#{key}", value) end end end @new_record = false @changed_attributes.clear end end
perform_update()
click to toggle source
# File lib/active_redis/save.rb, line 44 def perform_update run_callbacks :update do perform_save end end
save_context()
click to toggle source
# File lib/active_redis/save.rb, line 58 def save_context if new_record? :create else :update end end