class ThinkingSphinx::Deltas::DefaultDelta

Attributes

adapter[R]
options[R]

Public Class Methods

new(adapter, options = {}) click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 4
def initialize(adapter, options = {})
  @adapter, @options = adapter, options
end

Public Instance Methods

clause(delta_source = false) click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 8
def clause(delta_source = false)
  return nil unless delta_source

  "#{adapter.quoted_table_name}.#{quoted_column} = #{adapter.boolean_value delta_source}"
end
delete(index, instance) click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 14
def delete(index, instance)
  ThinkingSphinx::Deltas::DeleteJob.new(
    index.name, index.document_id_for_instance(instance)
  ).perform
end
index(index) click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 20
def index(index)
  ThinkingSphinx::Deltas::IndexJob.new(index.name).perform
end
reset_query() click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 24
  def reset_query
    (<<-SQL).strip.gsub(/\n\s*/, ' ')
UPDATE #{adapter.quoted_table_name}
SET #{quoted_column} = #{adapter.boolean_value false}
WHERE #{quoted_column} = #{adapter.boolean_value true}
    SQL
  end
toggle(instance) click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 32
def toggle(instance)
  instance.send "#{column}=", true
end
toggled?(instance) click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 36
def toggled?(instance)
  instance.send "#{column}?"
end

Private Instance Methods

column() click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 42
def column
  options[:column] || :delta
end
config() click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 46
def config
  ThinkingSphinx::Configuration.instance
end
controller() click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 50
def controller
  config.controller
end
quoted_column() click to toggle source
# File lib/thinking_sphinx/deltas/default_delta.rb, line 54
def quoted_column
  adapter.quote column
end