Sha256: f9f6fdf333f2320959c4783a572c014926ebe53c9359d07f2f0522073b7bafcf
Contents?: true
Size: 1.63 KB
Versions: 3
Compression:
Stored size: 1.63 KB
Contents
# frozen_string_literal: true module Blacklight # Base class for Blacklight repository adapters class AbstractRepository # @return [Blacklight::Configuration] attr_accessor :blacklight_config # Direct writer for the connection attr_writer :connection # (Note: ActiveSupport::Benchmarkable requires a logger method) # @return [Logger] attr_writer :logger include ActiveSupport::Benchmarkable ## # @param [Blacklight::Configuration] blacklight_config def initialize blacklight_config @blacklight_config = blacklight_config end ## # The raw data store connection def connection @connection ||= build_connection end ## # Find a single document result by a known id # @param [String] _id document's unique key value # @param [Hash] _params additional query parameters def find(_id, _params = {}) raise NotImplementedError end # Find multiple documents by their ids # @param [Hash] _params query parameters def find_many(params, **kwargs) search(params, **kwargs) end ## # Execute a search query against a search index # @param [Hash] _params query parameters def search(_params = {}) raise NotImplementedError end # Query the fields that exist from the index # @return [Hash] def reflect_fields raise NotImplementedError end ## # Is the repository in a working state? def ping raise NotImplementedError end private def connection_config blacklight_config.connection_config end def logger @logger ||= Blacklight.logger end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
blacklight-7.40.0 | lib/blacklight/abstract_repository.rb |
blacklight-7.39.0 | lib/blacklight/abstract_repository.rb |
blacklight-7.38.0 | lib/blacklight/abstract_repository.rb |