Module: ActiveFedora::RDF::Identifiable
- Extended by:
- ActiveSupport::Concern
- Included in:
- Base
- Defined in:
- lib/active_fedora/rdf/identifiable.rb
Overview
This module is included to allow for an ActiveFedora::Base object to be set as the class_name for a Resource. Enables functionality like:
base = ActiveFedora::Base.new('oregondigital:1')
base.title = 'test'
base.save
subject.descMetadata.set = base
subject.descMetadata.set # => <ActiveFedora::Base>
subject.descMetadata.set.title # => 'test'
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#resource ⇒ Object
Defines which resource defines this ActiveFedora object.
Instance Method Details
#resource ⇒ Object
Defines which resource defines this ActiveFedora object. This is required for ActiveFedora::Rdf::Resource#set_value to append graphs. If there is no RdfResource, make a dummy one and freeze its graph.
18 19 20 21 22 23 |
# File 'lib/active_fedora/rdf/identifiable.rb', line 18 def resource return self.send(self.class.resource_datastream).resource unless self.class.resource_datastream.nil? klass = Class.new(ActiveTriples::Resource) klass.send(:include, ActiveFedora::RDF::Persistence) klass.new(ActiveFedora::RDF::Persistence::BASE_URI + self.pid).freeze end |