Sha256: c3208ea6e7bf430b8c1b2e467180fd0d0887b54f19c757f02935d9c96e22bfc8
Contents?: true
Size: 787 Bytes
Versions: 10
Compression:
Stored size: 787 Bytes
Contents
module DataMapper module Resource class State # a not-persisted/unmodifiable resource class Immutable < State def get(subject, *args) unless subject.loaded?(resource) || subject.kind_of?(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 # class Immutable end # class State end # module Resource end # module DataMapper
Version data entries
10 entries across 10 versions & 1 rubygems