Class: Blacklight::AbstractRepository

Inherits:
Object
  • Object
show all
Includes:
ActiveSupport::Benchmarkable
Defined in:
lib/blacklight/abstract_repository.rb

Overview

Base class for Blacklight repository adapters

Direct Known Subclasses

Solr::Repository

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(blacklight_config) ⇒ AbstractRepository

Returns a new instance of AbstractRepository.

Parameters:



22
23
24
# File 'lib/blacklight/abstract_repository.rb', line 22

def initialize blacklight_config
  @blacklight_config = blacklight_config
end

Instance Attribute Details

#blacklight_configBlacklight::Configuration



7
8
9
# File 'lib/blacklight/abstract_repository.rb', line 7

def blacklight_config
  @blacklight_config
end

#connectionObject

The raw data store connection



28
29
30
# File 'lib/blacklight/abstract_repository.rb', line 28

def connection
  @connection ||= build_connection
end

#logger=(value) ⇒ Logger

(Note: ActiveSupport::Benchmarkable requires a logger method) No longer used in core Blacklight, keeping for downstream consumers

Returns:

  • (Logger)


15
16
17
# File 'lib/blacklight/abstract_repository.rb', line 15

def logger=(value)
  @logger = value
end

Instance Method Details

#find(_id, _params = {}) ⇒ Object

Find a single document result by a known id

Parameters:

  • _id (String)

    document's unique key value

  • _params (Hash) (defaults to: {})

    additional query parameters

Raises:

  • (NotImplementedError)


36
37
38
# File 'lib/blacklight/abstract_repository.rb', line 36

def find(_id, _params = {})
  raise NotImplementedError
end

#find_many(params) ⇒ Object

Find multiple documents by their ids

Parameters:

  • _params (Hash)

    query parameters



42
43
44
# File 'lib/blacklight/abstract_repository.rb', line 42

def find_many(params, **)
  search(params, **)
end

#pingObject

Is the repository in a working state?

Raises:

  • (NotImplementedError)


61
62
63
# File 'lib/blacklight/abstract_repository.rb', line 61

def ping
  raise NotImplementedError
end

#reflect_fieldsHash

Query the fields that exist from the index

Returns:

  • (Hash)

Raises:

  • (NotImplementedError)


55
56
57
# File 'lib/blacklight/abstract_repository.rb', line 55

def reflect_fields
  raise NotImplementedError
end

#search(_params = {}) ⇒ Object

Execute a search query against a search index

Parameters:

  • _params (Hash) (defaults to: {})

    query parameters

Raises:

  • (NotImplementedError)


49
50
51
# File 'lib/blacklight/abstract_repository.rb', line 49

def search(_params = {})
  raise NotImplementedError
end