Class: Hyrax::PcdmCollection

Inherits:
Resource
  • Object
show all
Defined in:
app/models/hyrax/pcdm_collection.rb

Overview

Note:

Some collection types limit a work to belong to one and only one collection of that type.

Valkyrie model for Collection domain objects in the Hydra Works model.

## Relationships

### Collection and Collection (TBA)

### Collection and Work

  • Defined: The relationship is defined by the inverse relationship stored in the work's `:member_of_collection_ids` attribute.

  • Tested: The work tests the relationship.

  • Collection to Work: (0..m) A collection can have many works.

  • Work to Collection: (0..m) A work can be in many collections.

    • See Hyrax::Work for code to get and set collections for the work.

### All children

  • There are additional methods for finding all children without respect to the child's type.

Examples:

Get works in a collection:

works = Hyrax.custom_queries.find_child_works(resource: collection)

Get works and child collections in a collection using:

members = Hyrax.custom_queries.find_members_of(resource: collection)

See Also:

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Resource

#file?, #file_set?, human_readable_type, #work?

Methods included from WithEvents

#event_class, #events, #log_event, #stream

Class Method Details

._hyrax_default_name_classClass

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns an ActiveModel::Name compatible class.

Returns:

  • (Class)

    an ActiveModel::Name compatible class


54
55
56
# File 'app/models/hyrax/pcdm_collection.rb', line 54

def self._hyrax_default_name_class
  Hyrax::CollectionName
end

Instance Method Details

#collection?Boolean

Returns true.

Returns:

  • (Boolean)

    true


60
61
62
# File 'app/models/hyrax/pcdm_collection.rb', line 60

def collection?
  true
end

#pcdm_object?Boolean

Returns true.

Returns:

  • (Boolean)

    true


66
67
68
# File 'app/models/hyrax/pcdm_collection.rb', line 66

def pcdm_object?
  true
end

#permission_managerObject


70
71
72
# File 'app/models/hyrax/pcdm_collection.rb', line 70

def permission_manager
  @permission_manager ||= Hyrax::PermissionManager.new(resource: self)
end

#visibilityObject


78
79
80
# File 'app/models/hyrax/pcdm_collection.rb', line 78

def visibility
  visibility_reader.read
end

#visibility=(value) ⇒ Object


74
75
76
# File 'app/models/hyrax/pcdm_collection.rb', line 74

def visibility=(value)
  visibility_writer.assign_access_for(visibility: value)
end