Class: Collection
- Inherits:
-
Ddr::Models::Base
- Object
- ActiveFedora::Base
- Ddr::Models::Base
- Collection
- Defined in:
- app/models/collection.rb
Overview
A Collection is a conceptual and administrative entity containing a set of items.
Constant Summary
Constants inherited from Ddr::Models::Base
Ddr::Models::Base::SAVE_NOTIFICATION
Constants included from Ddr::Index::Fields
Ddr::Index::Fields::ACCESS_ROLE, Ddr::Index::Fields::ACTIVE_FEDORA_MODEL, Ddr::Index::Fields::ADMIN_SET, Ddr::Index::Fields::ADMIN_SET_FACET, Ddr::Index::Fields::ALL_TEXT, Ddr::Index::Fields::ASPACE_ID, Ddr::Index::Fields::ATTACHED_FILES, Ddr::Index::Fields::ATTACHED_FILES_HAVING_CONTENT, Ddr::Index::Fields::BOX_NUMBER_FACET, Ddr::Index::Fields::COLLECTION_FACET, Ddr::Index::Fields::COLLECTION_URI, Ddr::Index::Fields::CONTENT_CREATE_DATE, Ddr::Index::Fields::CONTENT_SIZE, Ddr::Index::Fields::CONTENT_SIZE_HUMAN, Ddr::Index::Fields::CONTRIBUTOR_FACET, Ddr::Index::Fields::CREATOR_FACET, Ddr::Index::Fields::DATE_FACET, Ddr::Index::Fields::DATE_SORT, Ddr::Index::Fields::DEPOSITOR, Ddr::Index::Fields::DISPLAY_FORMAT, Ddr::Index::Fields::DOI, Ddr::Index::Fields::EAD_ID, Ddr::Index::Fields::EXTRACTED_TEXT, Ddr::Index::Fields::FCREPO3_PID, Ddr::Index::Fields::FORMAT_FACET, Ddr::Index::Fields::HAS_MODEL, Ddr::Index::Fields::ID, Ddr::Index::Fields::IDENTIFIER_ALL, Ddr::Index::Fields::IS_ATTACHED_TO, Ddr::Index::Fields::IS_EXTERNAL_TARGET_FOR, Ddr::Index::Fields::IS_GOVERNED_BY, Ddr::Index::Fields::IS_LOCKED, Ddr::Index::Fields::IS_MEMBER_OF_COLLECTION, Ddr::Index::Fields::IS_PART_OF, Ddr::Index::Fields::LAST_FIXITY_CHECK_ON, Ddr::Index::Fields::LAST_FIXITY_CHECK_OUTCOME, Ddr::Index::Fields::LAST_VIRUS_CHECK_ON, Ddr::Index::Fields::LAST_VIRUS_CHECK_OUTCOME, Ddr::Index::Fields::LICENSE, Ddr::Index::Fields::LOCAL_ID, Ddr::Index::Fields::MEDIA_MAJOR_TYPE, Ddr::Index::Fields::MEDIA_SUB_TYPE, Ddr::Index::Fields::MEDIA_TYPE, Ddr::Index::Fields::MULTIRES_IMAGE_FILE_PATH, Ddr::Index::Fields::OBJECT_CREATE_DATE, Ddr::Index::Fields::OBJECT_MODIFIED_DATE, Ddr::Index::Fields::OBJECT_PROFILE, Ddr::Index::Fields::OBJECT_STATE, Ddr::Index::Fields::ORIGINAL_FILENAME, Ddr::Index::Fields::PERMANENT_ID, Ddr::Index::Fields::PERMANENT_URL, Ddr::Index::Fields::POLICY_ROLE, Ddr::Index::Fields::PUBLISHER_FACET, Ddr::Index::Fields::RESEARCH_HELP_CONTACT, Ddr::Index::Fields::RESOURCE_ROLE, Ddr::Index::Fields::SERIES_FACET, Ddr::Index::Fields::SPATIAL_FACET, Ddr::Index::Fields::STRUCT_MAPS, Ddr::Index::Fields::SUBJECT_FACET, Ddr::Index::Fields::TECHMD_COLOR_SPACE, Ddr::Index::Fields::TECHMD_CREATING_APPLICATION, Ddr::Index::Fields::TECHMD_CREATION_TIME, Ddr::Index::Fields::TECHMD_FILE_SIZE, Ddr::Index::Fields::TECHMD_FITS_DATETIME, Ddr::Index::Fields::TECHMD_FITS_VERSION, Ddr::Index::Fields::TECHMD_FORMAT_LABEL, Ddr::Index::Fields::TECHMD_FORMAT_VERSION, Ddr::Index::Fields::TECHMD_IMAGE_HEIGHT, Ddr::Index::Fields::TECHMD_IMAGE_WIDTH, Ddr::Index::Fields::TECHMD_MEDIA_TYPE, Ddr::Index::Fields::TECHMD_MESSAGE, Ddr::Index::Fields::TECHMD_MODIFICATION_TIME, Ddr::Index::Fields::TECHMD_PRONOM_IDENTIFIER, Ddr::Index::Fields::TECHMD_VALID, Ddr::Index::Fields::TECHMD_WELL_FORMED, Ddr::Index::Fields::TITLE, Ddr::Index::Fields::TYPE_FACET, Ddr::Index::Fields::UNIQUE_ID, Ddr::Index::Fields::WORKFLOW_STATE, Ddr::Index::Fields::YEAR_FACET
Instance Method Summary collapse
-
#components_from_solr ⇒ Object
Returns the SolrDocuments for Components associated with the Collection.
-
#default_entities_for_permission(type, access) ⇒ Array<String>
Returns a list of entities (either users or groups) having a default access level on objects governed by the Collection.
- #grant_roles_to_creator(creator) ⇒ Object
- #publishable? ⇒ Boolean
Methods included from Ddr::Models::HasChildren
Methods inherited from Ddr::Models::Base
#adminMetadata, #admin_metadata, #attached_files_having_content, #attached_files_profile, #check_fixity, #copy_admin_policy_or_roles_from, #datastreams_to_validate, #descMetadata, #desc_metadata, #desc_metadata_terms, #desc_metadata_values, find_by_unique_id, #fixity_checks, #has_extracted_text?, #inspect, #last_fixity_check, #last_fixity_check_on, #last_fixity_check_outcome, #model_and_id, #model_pid, #permanent_id_suffix, #set_desc_metadata, #set_desc_metadata_values, #unique_ids, #version_name
Methods included from Ddr::Models::Relation
#having_local_id, #in_collection
Methods included from Ddr::Models::HasAdminMetadata
#assign_permanent_id!, #copy_resource_roles_from, #effective_license, #effective_permissions, #finding_aid, #inherited_license, #inherited_roles, #lock, #lock!, #locked?, #permanent_id_manager, #research_help, #roles, #unlock, #unlock!, #workflow
Methods included from Ddr::Models::Indexing
#admin_set_facet, #all_identifiers, #associated_collection, #collection_facet, const_missing, #date_sort, #index_fields, #title_display, #to_solr, #year_facet
Methods included from Ddr::Index::Fields
const_missing, descmd, get, techmd
Methods included from Ddr::Models::FileManagement
Methods included from Ddr::Models::EventLoggable
#events, #has_events?, #notify_event, #update_events
Methods included from Ddr::Models::HasThumbnail
#copy_thumbnail_from, #thumbnail_changed?
Methods included from Ddr::Models::Governable
Instance Method Details
#components_from_solr ⇒ Object
Returns the SolrDocuments for Components associated with the Collection.
25 26 27 28 29 30 |
# File 'app/models/collection.rb', line 25 def components_from_solr query = "#{Ddr::Index::Fields::COLLECTION_URI}:#{RSolr.solr_escape(id)}" filter = ActiveFedora::SolrQueryBuilder.construct_query_for_rel(:has_model => Component.to_class_uri) results = ActiveFedora::SolrService.query(query, fq: filter, rows: 100000) results.lazy.map {|doc| SolrDocument.new(doc)} end |
#default_entities_for_permission(type, access) ⇒ Array<String>
Returns a list of entities (either users or groups) having a default access level on objects governed by the Collection.
38 39 40 |
# File 'app/models/collection.rb', line 38 def (type, access) .collect { |p| p[:name] if p[:type] == type and p[:access] == access }.compact end |
#grant_roles_to_creator(creator) ⇒ Object
48 49 50 51 52 53 54 55 |
# File 'app/models/collection.rb', line 48 def grant_roles_to_creator(creator) roles.grant role_type: Ddr::Auth::Roles::CURATOR, agent: creator.agent, scope: Ddr::Auth::Roles::RESOURCE_SCOPE roles.grant role_type: Ddr::Auth::Roles::CURATOR, agent: creator.agent, scope: Ddr::Auth::Roles::POLICY_SCOPE end |
#publishable? ⇒ Boolean
57 58 59 |
# File 'app/models/collection.rb', line 57 def publishable? true end |