module Ohm::Versioned
Public Class Methods
included(model)
click to toggle source
# File lib/ohm/versioned.rb, line 3 def self.included(model) model.attribute :_version, ->(x) { x.to_i } end
Public Instance Methods
save()
click to toggle source
Calls superclass method
# File lib/ohm/versioned.rb, line 7 def save current_version = new? ? 0 : redis.call("HGET", key, :_version).to_i if current_version != _version raise Ohm::VersionConflict.new(attributes) end self._version = current_version + 1 super end