Module: RediJsonModels::RediJsonModelMixin

Defined in:
lib/redijson_models.rb

Instance Method Summary collapse

Instance Method Details

#saveObject



95
96
97
98
99
100
101
102
103
104
105
106
107
108
# 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) ⇒ Object



84
85
86
87
88
89
90
91
92
93
# 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