Sha256: 1e7fdff9f58d9f7210963a49dd5506d92251fb648acaf4a057dd253aaeda7ff9

Contents?: true

Size: 477 Bytes

Versions: 3

Compression:

Stored size: 477 Bytes

Contents

require 'ixtlan/optimistic_persistence_module'
require 'dm-core'
module DataMapper

  class StaleResourceError < StandardError; end

end

module Ixtlan
  module OptimisticPersistence

    def self.included(base)
      base.send(:include, ::Ixtlan::OptimisticPersistenceModule)
      base.before :valid? do
        raise ::DataMapper::StaleResourceError.new(model.name + "(#{key}) was stale") if stale?
      end
    end
    ::DataMapper::Model.append_inclusions self
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ixtlan-0.4.0.pre2 lib/ixtlan/optimistic_persistence.rb
ixtlan-0.4.0.pre lib/ixtlan/optimistic_persistence.rb
ixtlan-0.3.0 lib/ixtlan/optimistic_persistence.rb