Sha256: 1aa8e8bc168b1f0f12fa7abee1c5bb1d4d456eb4db02f81d4af827618a2a0adb

Contents?: true

Size: 843 Bytes

Versions: 30

Compression:

Stored size: 843 Bytes

Contents

module ActiveFedora
  module RDF
    #
    # Mixin for adding datastream persistence to an ActiveTriples::Resource
    # descendant so that it may be used to back an ActiveFedora::RDFDatastream.
    #
    # @see ActiveFedora::RDFDatastream.resource_class
    # @see ActiveFedora::RDF::ObjectResource
    #
    module Persistence
      extend ActiveSupport::Concern

      BASE_URI = 'info:fedora/'.freeze

      included do
        configure base_uri: BASE_URI unless base_uri
        attr_accessor :datastream
      end

      # Overrides ActiveTriples::Resource
      def persist!
        return false unless datastream && datastream.respond_to?(:save)
        @persisted ||= datastream.save
      end

      # Overrides ActiveTriples::Resource
      def persisted?
        @persisted ||= !datastream.new_record?
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
active-fedora-10.3.0 lib/active_fedora/rdf/persistence.rb
active-fedora-9.7.3 lib/active_fedora/rdf/persistence.rb
active-fedora-10.3.0.rc2 lib/active_fedora/rdf/persistence.rb
active-fedora-10.3.0.rc1 lib/active_fedora/rdf/persistence.rb
active-fedora-10.2.1 lib/active_fedora/rdf/persistence.rb
active-fedora-10.2.0 lib/active_fedora/rdf/persistence.rb
active-fedora-10.1.0 lib/active_fedora/rdf/persistence.rb
active-fedora-10.1.0.rc1 lib/active_fedora/rdf/persistence.rb
active-fedora-9.7.2 lib/active_fedora/rdf/persistence.rb
active-fedora-10.0.0 lib/active_fedora/rdf/persistence.rb
active-fedora-10.0.0.beta4 lib/active_fedora/rdf/persistence.rb
active-fedora-10.0.0.beta3 lib/active_fedora/rdf/persistence.rb
active-fedora-10.0.0.beta2 lib/active_fedora/rdf/persistence.rb
active-fedora-10.0.0.beta1 lib/active_fedora/rdf/persistence.rb
active-fedora-9.13.0 lib/active_fedora/rdf/persistence.rb
active-fedora-9.12.0 lib/active_fedora/rdf/persistence.rb
active-fedora-9.11.0 lib/active_fedora/rdf/persistence.rb
active-fedora-9.10.4 lib/active_fedora/rdf/persistence.rb
active-fedora-9.10.3 lib/active_fedora/rdf/persistence.rb
active-fedora-9.10.2 lib/active_fedora/rdf/persistence.rb