blob: 57c396e78f3ad5fa4b3b1ab1ba51fddeda1b2a0d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
require 'thinking_sphinx/deltas/default_delta'
require 'thinking_sphinx/deltas/delayed_delta'
require 'thinking_sphinx/deltas/datetime_delta'
module ThinkingSphinx
module Deltas
def self.parse(index, options)
delta_option = options.delete(:delta)
case delta_option
when TrueClass, :default
DefaultDelta.new index, options
when :delayed
DelayedDelta.new index, options
when :datetime
DatetimeDelta.new index, options
when FalseClass, nil
nil
else
if delta_option.ancestors.include?(ThinkingSphinx::Deltas::DefaultDelta)
delta_option.new index, options
else
raise "Unknown delta type"
end
end
end
end
end
|