Class: Valkyrie::Persistence::Solr::MetadataAdapter
- Inherits:
-
Object
- Object
- Valkyrie::Persistence::Solr::MetadataAdapter
- Defined in:
- lib/valkyrie/persistence/solr/metadata_adapter.rb
Overview
MetadataAdapter for Solr Adapter.
This adapter persists resources as hashes to an RSolr connection.
Defined Under Namespace
Classes: NullIndexer
Instance Attribute Summary collapse
-
#connection ⇒ Object
readonly
Returns the value of attribute connection.
-
#resource_indexer ⇒ Object
readonly
Returns the value of attribute resource_indexer.
Instance Method Summary collapse
-
#id ⇒ Valkyrie::ID
Generate the Valkyrie ID for this unique metadata adapter This uses the URL of the Solr endpoint to ensure that this is unique.
-
#initialize(connection:, resource_indexer: NullIndexer) ⇒ MetadataAdapter
constructor
A new instance of MetadataAdapter.
-
#persister ⇒ Valkyrie::Persistence::Solr::Persister
The solr persister.
-
#query_service ⇒ Valkyrie::Persistence::Solr::QueryService
The solr query service.
-
#resource_factory ⇒ Valkyrie::Persistence::Solr::ResourceFactory
A resource factory to convert a resource to a solr document and back.
Constructor Details
#initialize(connection:, resource_indexer: NullIndexer) ⇒ MetadataAdapter
Returns a new instance of MetadataAdapter.
34 35 36 37 |
# File 'lib/valkyrie/persistence/solr/metadata_adapter.rb', line 34 def initialize(connection:, resource_indexer: NullIndexer) @connection = connection @resource_indexer = resource_indexer end |
Instance Attribute Details
#connection ⇒ Object (readonly)
Returns the value of attribute connection.
30 31 32 |
# File 'lib/valkyrie/persistence/solr/metadata_adapter.rb', line 30 def connection @connection end |
#resource_indexer ⇒ Object (readonly)
Returns the value of attribute resource_indexer.
30 31 32 |
# File 'lib/valkyrie/persistence/solr/metadata_adapter.rb', line 30 def resource_indexer @resource_indexer end |
Instance Method Details
#id ⇒ Valkyrie::ID
Generate the Valkyrie ID for this unique metadata adapter This uses the URL of the Solr endpoint to ensure that this is unique
57 58 59 |
# File 'lib/valkyrie/persistence/solr/metadata_adapter.rb', line 57 def id @id ||= Valkyrie::ID.new(Digest::MD5.hexdigest(connection.base_uri.to_s)) end |
#persister ⇒ Valkyrie::Persistence::Solr::Persister
Returns The solr persister.
40 41 42 |
# File 'lib/valkyrie/persistence/solr/metadata_adapter.rb', line 40 def persister Valkyrie::Persistence::Solr::Persister.new(adapter: self) end |
#query_service ⇒ Valkyrie::Persistence::Solr::QueryService
Returns The solr query service.
46 47 48 49 50 51 52 |
# File 'lib/valkyrie/persistence/solr/metadata_adapter.rb', line 46 def query_service @query_service ||= Valkyrie::Persistence::Solr::QueryService.new( connection: connection, resource_factory: resource_factory, adapter: self ) end |
#resource_factory ⇒ Valkyrie::Persistence::Solr::ResourceFactory
Returns A resource factory to convert a resource to a solr document and back.
63 64 65 |
# File 'lib/valkyrie/persistence/solr/metadata_adapter.rb', line 63 def resource_factory Valkyrie::Persistence::Solr::ResourceFactory.new(resource_indexer: resource_indexer, adapter: self) end |