class ActiveFedora::UnsavedDigitalObject
Helps Rubydora create datastreams of the type defined by the ActiveFedora::Base#datastream_class_for_name
def assign_pid
def assign_pid return @pid if @pid self.original_class.assign_pid(self) end
def initialize(original_class, namespace, pid=nil)
def initialize(original_class, namespace, pid=nil) @pid = pid self.original_class = original_class self.namespace = namespace self.datastreams = {} end
def new?
def new? true end
def pid
def pid @pid || '__DO_NOT_USE__' end
def save
def save obj = DigitalObject.find(self.original_class, assign_pid) self.datastreams.each do |k, v| v.digital_object = obj obj.datastreams[k] = v end obj.ownerId = ownerId if ownerId obj.label = label if label obj end