module ActiveFedora::FileManagement
def collection_members_append(obj)
- Example: This will add a has_collection_member relationship to the parent_object's RELS-EXT datastream pointing at child_object -
Returns:
-
(ActiveFedora::Base)
- obj returns self
Parameters:
-
obj
(ActiveFedora::Base
) -- the file to add
def collection_members_append(obj) add_relationship(:has_collection_member, obj) return self end
def collection_members_remove()
def collection_members_remove() # will rely on SemanticNode.remove_relationship once it is implemented end
def file_objects(opts={})
-
(Array of ActiveFedora objects, Array of PIDs, or Solr::Result)
- -- same options as auto-generated methods for relationships (ie. :response_format)
Parameters:
-
opts
(Hash
) -- -- same options as auto-generated methods for relationships (ie. :response_format)
def file_objects(opts={}) cm_array = collection_members(:response_format=>:id_array) if !cm_array.empty? logger.warn "This object has collection member assertions. hasCollectionMember will no longer be used to track file_object relationships after active_fedora 1.3. Use isPartOf assertions in the RELS-EXT of child objects instead." if opts[:response_format] == :solr || opts[:response_format] == :load_from_solr logger.warn ":solr and :load_from_solr response formats for file_objects search only uses parts relationships (usage of hasCollectionMember is no longer supported)" result = parts(opts) else cm_result = collection_members(opts) parts_result = parts(opts) ary = cm_result+parts_result result = ary.uniq end else result = parts(opts) end return result end
def file_objects_append(obj)
- Example: This will add an is_part_of relationship to the child_object's RELS-EXT datastream pointing at parent_object -
Returns:
-
(Boolean)
- whether saving the child object was successful
Parameters:
-
obj
(ActiveFedora::Base, String
) -- the object or the pid of the object to add
def file_objects_append(obj) # collection_members_append(obj) unless obj.kind_of? ActiveFedora::Base begin obj = ActiveFedora::Base.find(obj) rescue ActiveFedora::ObjectNotFoundError "You must provide either an ActiveFedora object or a valid pid to add it as a file object. You submitted #{obj.inspect}" end end obj.add_relationship(:is_part_of, self) obj.save end