module RediJsonModels::RediJsonModelMixin

Public Instance Methods

save() click to toggle source
# File lib/redijson_models.rb, line 95
def save
  klass = self.class
  attrs = attributes
  id = attrs[:id]
  unless id
    entry_id = klass.send :incr
    attrs.merge! "id" => entry_id
    id = entry_id
  end

  RJ["#{self.class.resource}:#{id}"] = attrs
  self.id = id
  self
end
update(attrs_new) click to toggle source
# File lib/redijson_models.rb, line 84
def update(attrs_new)
  raise "Can't update a resource without an `id`" unless id
  klass = self.class
  model = klass.get id
  attrs = model.attributes
  attrs.merge! attrs_new
  obj   = klass.new attrs
  RJ["#{self.class.resource}:#{id}"] = obj.attributes
  obj
end