Sha256: d511456a6dae558ad12ea19ec1f0b9b200be96d6d1d0b43a0786439bc4e2d4d3
Contents?: true
Size: 708 Bytes
Versions: 7
Compression:
Stored size: 708 Bytes
Contents
# frozen_string_literal: true module Valkyrie::Persistence::Solr::Queries # Responsible for returning a single resource identified by an ID. class FindByIdQuery attr_reader :connection, :resource_factory attr_writer :id def initialize(id, connection:, resource_factory:) @id = id @connection = connection @resource_factory = resource_factory end def run raise ::Valkyrie::Persistence::ObjectNotFoundError unless resource resource_factory.to_resource(object: resource) end def id @id.to_s end def resource connection.get("select", params: { q: "id:\"#{id}\"", fl: "*", rows: 1 })["response"]["docs"].first end end end
Version data entries
7 entries across 7 versions & 1 rubygems