# File lib/thinking_sphinx/index_set.rb, line 6 def initialize(classes, index_names, configuration = nil) @classes = classes || [] @index_names = index_names @configuration = configuration || ThinkingSphinx::Configuration.instance end
# File lib/thinking_sphinx/index_set.rb, line 12 def ancestors classes_and_ancestors - classes end
# File lib/thinking_sphinx/index_set.rb, line 16 def to_a indices end
# File lib/thinking_sphinx/index_set.rb, line 22 def classes_and_ancestors @classes_and_ancestors ||= @classes.collect { |model| model.ancestors.take_while { |klass| klass != ActiveRecord::Base }.select { |klass| klass.class == Class } }.flatten end
# File lib/thinking_sphinx/index_set.rb, line 32 def indices @configuration.preload_indices return @configuration.indices.select { |index| @index_names.include?(index.name) } if @index_names && @index_names.any? return @configuration.indices if @classes.empty? @configuration.indices_for_references(*references) end
# File lib/thinking_sphinx/index_set.rb, line 44 def references classes_and_ancestors.collect { |klass| klass.name.underscore.to_sym } end