Module: Kiosk::Indexer::Adapter::ThinkingSphinxAdapter::Resource::ClassMethods

Defined in:
lib/kiosk/indexer/adapter/thinking_sphinx_adapter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#sphinx_indexesObject

Returns the value of attribute sphinx_indexes.



33
34
35
# File 'lib/kiosk/indexer/adapter/thinking_sphinx_adapter.rb', line 33

def sphinx_indexes
  @sphinx_indexes
end

Instance Method Details

#define_index(name, &blk) ⇒ Object



35
36
37
38
39
40
41
42
43
44
# File 'lib/kiosk/indexer/adapter/thinking_sphinx_adapter.rb', line 35

def define_index(name, &blk)
  self.sphinx_indexes ||= []

  ThinkingSphinx.context.add_indexed_resource self

  index = Index.new(self, name.to_s)
  index.instance_exec(&blk)

  sphinx_indexes << index unless sphinx_indexes.any? { |i| i.name == index.name }
end

#search(*args) ⇒ Object



46
47
48
49
50
51
# File 'lib/kiosk/indexer/adapter/thinking_sphinx_adapter.rb', line 46

def search(*args)
  options = args.extract_options!
  query = args.first

  Search.new(query, options).execute_for(self)
end

#sphinx_index_namesObject



53
54
55
# File 'lib/kiosk/indexer/adapter/thinking_sphinx_adapter.rb', line 53

def sphinx_index_names
  (sphinx_indexes || []).collect { |index| index.name }
end

#to_riddleObject



57
58
59
60
61
62
63
# File 'lib/kiosk/indexer/adapter/thinking_sphinx_adapter.rb', line 57

def to_riddle
  if sphinx_indexes
    sphinx_indexes.collect { |index| index.to_riddle }.flatten
  else
    []
  end
end