Class: ActiveFedora::DigitalObject

Inherits:
Rubydora::DigitalObject
  • Object
show all
Includes:
DatastreamBootstrap
Defined in:
lib/active_fedora/digital_object.rb

Overview

Helps Rubydora create datastreams of the type defined by the ActiveFedora::Base#datastream_class_for_name

Defined Under Namespace

Modules: DatastreamBootstrap

Instance Attribute Summary collapse

Class Method Summary collapse

Methods included from DatastreamBootstrap

#datastream_object_for

Instance Attribute Details

#original_classObject

Returns the value of attribute original_class.



4
5
6
# File 'lib/active_fedora/digital_object.rb', line 4

def original_class
  @original_class
end

Class Method Details

.find(original_class, pid) ⇒ Object



29
30
31
32
33
34
35
36
37
# File 'lib/active_fedora/digital_object.rb', line 29

def self.find(original_class, pid)
  conn = original_class.connection_for_pid(pid)
  obj = Deprecation.silence(Rubydora::DigitalObject) do
    super(pid, conn)
  end
  obj.original_class = original_class
  raise ActiveFedora::ObjectNotFoundError, "Unable to find '#{pid}' in fedora" if obj.new?
  obj
end

.find_or_initialize(original_class, pid) ⇒ Object



39
40
41
42
43
44
# File 'lib/active_fedora/digital_object.rb', line 39

def self.find_or_initialize(original_class, pid)
  conn = original_class.connection_for_pid(pid)
  obj = super(pid, conn)
  obj.original_class = original_class
  obj
end