Sha256: 1d2e6f6fe297b8d18c6ab56c05ddd636dc2a7eb0164e6c72cb240be3f67b2cbe
Contents?: true
Size: 736 Bytes
Versions: 4
Compression:
Stored size: 736 Bytes
Contents
module DataMapper module Resource class PersistenceState # a not-persisted/unmodifiable resource class Immutable < PersistenceState def get(subject, *args) unless subject.loaded?(resource) || subject.is_a?(Associations::Relationship) raise ImmutableError, 'Immutable resource cannot be lazy loaded' end super end def set(_subject, _value) raise ImmutableError, 'Immutable resource cannot be modified' end def delete raise ImmutableError, 'Immutable resource cannot be deleted' end def commit self end def rollback self end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems