Class: DorIndexing::Builders::DocumentBuilder
- Inherits:
-
Object
- Object
- DorIndexing::Builders::DocumentBuilder
- Defined in:
- lib/dor_indexing/builders/document_builder.rb
Overview
Builds solr document for indexing.
Constant Summary collapse
- ADMIN_POLICY_INDEXER =
DorIndexing::Indexers::CompositeIndexer.new( DorIndexing::Indexers::AdministrativeTagIndexer, DorIndexing::Indexers::BasicIndexer, DorIndexing::Indexers::RoleMetadataIndexer, DorIndexing::Indexers::DefaultObjectRightsIndexer, DorIndexing::Indexers::IdentityMetadataIndexer, DorIndexing::Indexers::DescriptiveMetadataIndexer, DorIndexing::Indexers::IdentifiableIndexer, DorIndexing::Indexers::WorkflowsIndexer )
- COLLECTION_INDEXER =
DorIndexing::Indexers::CompositeIndexer.new( DorIndexing::Indexers::AdministrativeTagIndexer, DorIndexing::Indexers::BasicIndexer, DorIndexing::Indexers::RightsMetadataIndexer, DorIndexing::Indexers::IdentityMetadataIndexer, DorIndexing::Indexers::DescriptiveMetadataIndexer, DorIndexing::Indexers::IdentifiableIndexer, DorIndexing::Indexers::ReleasableIndexer, DorIndexing::Indexers::WorkflowsIndexer )
- ITEM_INDEXER =
DorIndexing::Indexers::CompositeIndexer.new( DorIndexing::Indexers::AdministrativeTagIndexer, DorIndexing::Indexers::BasicIndexer, DorIndexing::Indexers::RightsMetadataIndexer, DorIndexing::Indexers::IdentityMetadataIndexer, DorIndexing::Indexers::DescriptiveMetadataIndexer, DorIndexing::Indexers::EmbargoMetadataIndexer, DorIndexing::Indexers::ObjectFilesIndexer, DorIndexing::Indexers::IdentifiableIndexer, DorIndexing::Indexers::CollectionTitleIndexer, DorIndexing::Indexers::ReleasableIndexer, DorIndexing::Indexers::WorkflowsIndexer )
- INDEXERS =
{ Cocina::Models::ObjectType.agreement => ITEM_INDEXER, # Agreement uses same indexer as item Cocina::Models::ObjectType.admin_policy => ADMIN_POLICY_INDEXER, Cocina::Models::ObjectType.collection => COLLECTION_INDEXER }.freeze
- @@parent_collections =
rubocop:disable Style/ClassVars
{}
Class Method Summary collapse
Instance Method Summary collapse
- #for ⇒ Object
-
#initialize(model:, workflow_client:, cocina_finder:, administrative_tags_finder:, release_tags_finder:) ⇒ DocumentBuilder
constructor
A new instance of DocumentBuilder.
Constructor Details
#initialize(model:, workflow_client:, cocina_finder:, administrative_tags_finder:, release_tags_finder:) ⇒ DocumentBuilder
Returns a new instance of DocumentBuilder.
59 60 61 62 63 64 65 |
# File 'lib/dor_indexing/builders/document_builder.rb', line 59 def initialize(model:, workflow_client:, cocina_finder:, administrative_tags_finder:, release_tags_finder:) @model = model @workflow_client = workflow_client @cocina_finder = cocina_finder @administrative_tags_finder = @release_tags_finder = end |
Class Method Details
.for ⇒ Object
51 52 53 |
# File 'lib/dor_indexing/builders/document_builder.rb', line 51 def self.for(...) new(...).for end |
.reset_parent_collections ⇒ Object
55 56 57 |
# File 'lib/dor_indexing/builders/document_builder.rb', line 55 def self.reset_parent_collections @@parent_collections = {} # rubocop:disable Style/ClassVars end |
Instance Method Details
#for ⇒ Object
68 69 70 71 72 73 74 75 76 77 |
# File 'lib/dor_indexing/builders/document_builder.rb', line 68 def for indexer_for_type(model.type).new(id:, cocina: model, parent_collections:, administrative_tags:, workflow_client:, cocina_finder:, administrative_tags_finder:, release_tags_finder:) end |