Class: Valkyrie::Persistence::Solr::Queries::FindByIdQuery
- Inherits:
-
Object
- Object
- Valkyrie::Persistence::Solr::Queries::FindByIdQuery
- Defined in:
- lib/valkyrie/persistence/solr/queries/find_by_id_query.rb
Overview
Responsible for returning a single resource identified by an ID.
Instance Attribute Summary collapse
-
#connection ⇒ Object
readonly
Returns the value of attribute connection.
- #id ⇒ Object
-
#resource_factory ⇒ Object
readonly
Returns the value of attribute resource_factory.
Instance Method Summary collapse
-
#initialize(id, connection:, resource_factory:) ⇒ FindByIdQuery
constructor
A new instance of FindByIdQuery.
- #resource ⇒ Object
- #run ⇒ Object
Constructor Details
#initialize(id, connection:, resource_factory:) ⇒ FindByIdQuery
Returns a new instance of FindByIdQuery.
7 8 9 10 11 |
# File 'lib/valkyrie/persistence/solr/queries/find_by_id_query.rb', line 7 def initialize(id, connection:, resource_factory:) @id = id @connection = connection @resource_factory = resource_factory end |
Instance Attribute Details
#connection ⇒ Object (readonly)
Returns the value of attribute connection.
5 6 7 |
# File 'lib/valkyrie/persistence/solr/queries/find_by_id_query.rb', line 5 def connection @connection end |
#id ⇒ Object
18 19 20 |
# File 'lib/valkyrie/persistence/solr/queries/find_by_id_query.rb', line 18 def id @id.to_s end |
#resource_factory ⇒ Object (readonly)
Returns the value of attribute resource_factory.
5 6 7 |
# File 'lib/valkyrie/persistence/solr/queries/find_by_id_query.rb', line 5 def resource_factory @resource_factory end |
Instance Method Details
#resource ⇒ Object
22 23 24 |
# File 'lib/valkyrie/persistence/solr/queries/find_by_id_query.rb', line 22 def resource connection.get("select", params: { q: "id:\"#{id}\"", fl: "*", rows: 1 })["response"]["docs"].first end |
#run ⇒ Object
13 14 15 16 |
# File 'lib/valkyrie/persistence/solr/queries/find_by_id_query.rb', line 13 def run raise ::Valkyrie::Persistence::ObjectNotFoundError unless resource resource_factory.to_resource(object: resource) end |