Sha256: 5a83a62676ae107de86acb2688811e61f131bdd053383ff915b1554bed16717f

Contents?: true

Size: 619 Bytes

Versions: 10

Compression:

Stored size: 619 Bytes

Contents

module DataMapper
  module Resource
    class State

      # a persisted/deleted resource
      class Deleted < Persisted
        def set(subject, value)
          raise ImmutableDeletedError, 'Deleted resource cannot be modified'
        end

        def delete
          self
        end

        def commit
          delete_resource
          remove_from_identity_map
          Immutable.new(resource)
        end

      private

        def delete_resource
          repository.delete(collection_for_self)
        end

      end # class Deleted
    end # class State
  end # module Resource
end # module DataMapper

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
dm-core-1.1.0 lib/dm-core/resource/state/deleted.rb
dm-core-1.1.0.rc3 lib/dm-core/resource/state/deleted.rb
dm-core-1.1.0.rc2 lib/dm-core/resource/state/deleted.rb
dm-core-1.1.0.rc1 lib/dm-core/resource/state/deleted.rb
dm-core-1.0.2 lib/dm-core/resource/state/deleted.rb
dm-core-1.0.1 lib/dm-core/resource/state/deleted.rb
dm-core-1.0.0 lib/dm-core/resource/state/deleted.rb
dm-core-1.0.0.rc3 lib/dm-core/resource/state/deleted.rb
dm-core-1.0.0.rc2 lib/dm-core/resource/state/deleted.rb
dm-core-1.0.0.rc1 lib/dm-core/resource/state/deleted.rb