Class: Ansr::Blacklight::ConnectionAdapters::NoSqlAdapter

Inherits:
ConnectionAdapters::NoSqlAdapter
  • Object
show all
Defined in:
lib/ansr_blacklight/connection_adapters/no_sql_adapter.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, logger = nil, pool = nil) ⇒ NoSqlAdapter

:nodoc:



8
9
10
11
12
13
# File 'lib/ansr_blacklight/connection_adapters/no_sql_adapter.rb', line 8

def initialize(klass, logger = nil, pool = nil) #:nodoc:
  super(klass, klass.solr, logger, pool)
  # the RSolr class has one query method, with the name of the selector the first parm?
  @method = :send_and_receive
  @visitor = Ansr::Blacklight::Arel::Visitors::ToNoSql.new(@table)
end

Class Method Details

.connection_for(klass) ⇒ Object



4
5
6
# File 'lib/ansr_blacklight/connection_adapters/no_sql_adapter.rb', line 4

def self.connection_for(klass)
  Ansr::Blacklight.solr
end

Instance Method Details

#adapter_nameObject



20
21
22
# File 'lib/ansr_blacklight/connection_adapters/no_sql_adapter.rb', line 20

def adapter_name
    'Solr'
end

#execute(query, name = 'ANSR-SOLR') ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/ansr_blacklight/connection_adapters/no_sql_adapter.rb', line 28

def execute(query, name='ANSR-SOLR')
  query = query.dup
  # TODO: execution context to assign :post to params[:method]
  params = {params: query, method: :get}
  params[:data] = params.delete(:params) if params[:method] == :post
  raw_response = eval(@connection.send(@method, query.path, params))
  Ansr::Blacklight::Solr::Response.new(raw_response, raw_response['params'])
end

#raw_connectionObject

RSolr



16
17
18
# File 'lib/ansr_blacklight/connection_adapters/no_sql_adapter.rb', line 16

def raw_connection
    @connection
end

#to_sql(*args) ⇒ Object



24
25
26
# File 'lib/ansr_blacklight/connection_adapters/no_sql_adapter.rb', line 24

def to_sql(*args)
  to_nosql(*args)
end