Sha256: f1c5c14375136850117267d00f391a36b5b37abfad1e6496f71aeb62354b7be7
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
class ThinkingSphinx::IndexSet include Enumerable delegate :each, :empty?, :to => :indices def initialize(classes, index_names, configuration = nil) @classes = classes || [] @index_names = index_names @configuration = configuration || ThinkingSphinx::Configuration.instance end def ancestors classes_and_ancestors - classes end def to_a indices end private 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 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 def references classes_and_ancestors.collect { |klass| klass.name.underscore.to_sym } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
thinking-sphinx-3.0.6 | lib/thinking_sphinx/index_set.rb |