Sha256: c628a819f121692a69eebb4d711532b0910b42f192eebc81a1211a75cf47fe10

Contents?: true

Size: 641 Bytes

Versions: 7

Compression:

Stored size: 641 Bytes

Contents

module DataMapper
  module Resource
    class PersistenceState

      # 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 PersistenceState
  end # module Resource
end # module DataMapper

Version data entries

7 entries across 7 versions & 3 rubygems

Version Path
ardm-core-1.3.0 lib/dm-core/resource/persistence_state/deleted.rb
ardm-core-1.2.1 lib/dm-core/resource/persistence_state/deleted.rb
dm-core-1.2.1 lib/dm-core/resource/persistence_state/deleted.rb
ghost_dm-core-1.3.0.beta lib/dm-core/resource/persistence_state/deleted.rb
dm-core-1.2.0 lib/dm-core/resource/persistence_state/deleted.rb
dm-core-1.2.0.rc2 lib/dm-core/resource/persistence_state/deleted.rb
dm-core-1.2.0.rc1 lib/dm-core/resource/persistence_state/deleted.rb