Sha256: ca798fc0daddff6fd93f4c3875ee8c99af5a7bd3a32e7459633ca44607a52e1d

Contents?: true

Size: 906 Bytes

Versions: 1

Compression:

Stored size: 906 Bytes

Contents

require 'dm-is-read_only/is/read_only/exceptions/error'

module DataMapper
  module Is
    module ReadOnly
      #
      # A lazy-loaded and unmodifiable resource.
      #
      class State < DataMapper::Resource::PersistenceState::Clean

        #
        # Receives modifications attempts on a read-only resource.
        #
        # @raise [ReadOnlyError]
        #   A read-only resource cannot be modified.
        #
        # @since 0.2.0
        #
        def set(subject,value)
          raise(Error,"ReadOnly resource cannot be modified",caller)
        end

        #
        # Receives deletion attempts on a read-only resource.
        #
        # @raise [ReadOnlyError]
        #   A read-only resource cannot be deleted.
        #
        # @since 0.2.0
        #
        def delete
          raise(Error,"ReadOnly resource cannot be deleted",caller)
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dm-is-read_only-0.3.0 lib/dm-is-read_only/is/read_only/state.rb