Sha256: 8fb531bc85ce5f4b55841a2c02636ac882a9a1c3c77a52a2f79e49203b48b1b0
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
class ThinkingSphinx::Index attr_reader :reference, :options, :block def self.define(reference, options = {}, &block) new(reference, options, &block).indices.each do |index| ThinkingSphinx::Configuration.instance.indices << index end end def initialize(reference, options, &block) @reference, @options, @block = reference, options, block end def indices if options[:delta] delta_indices else [single_index] end end private def index_class case options[:with] when :active_record ThinkingSphinx::ActiveRecord::Index when :real_time ThinkingSphinx::RealTime::Index else raise "Unknown index type: #{options[:with]}" end end def single_index index_class.new(reference, options).tap do |index| index.definition_block = block end end def delta_indices [false, true].collect do |delta| index_class.new( reference, options.merge(:delta? => delta, :delta_processor => processor) ).tap do |index| index.definition_block = block end end end def processor @processor ||= ThinkingSphinx::Deltas.processor_for options.delete(:delta) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
thinking-sphinx-3.0.0.pre | lib/thinking_sphinx/index.rb |