class ThinkingSphinx::Context

Attributes

indexed_models[R]

Public Class Methods

new(*models) click to toggle source
# File lib/thinking_sphinx/context.rb, line 4
def initialize(*models)
  @indexed_models = []
end

Public Instance Methods

add_indexed_model(model) click to toggle source
# File lib/thinking_sphinx/context.rb, line 25
def add_indexed_model(model)
  model = model.name if model.is_a?(Class)

  indexed_models << model
  indexed_models.uniq!
  indexed_models.sort!
end
define_indexes() click to toggle source
# File lib/thinking_sphinx/context.rb, line 19
def define_indexes
  indexed_models.each { |model|
    model.constantize.define_indexes
  }
end
prepare() click to toggle source
# File lib/thinking_sphinx/context.rb, line 8
def prepare
  ThinkingSphinx::Configuration.instance.indexed_models.each do |model|
    add_indexed_model model
  end

  return unless indexed_models.empty?

  load_models
  add_indexed_models
end
superclass_indexed_models() click to toggle source
# File lib/thinking_sphinx/context.rb, line 33
def superclass_indexed_models
  klasses = indexed_models.collect { |name| name.constantize }
  klasses.reject { |klass|
    klass.superclass.ancestors.any? { |ancestor| klasses.include?(ancestor) }
  }.collect { |klass| klass.name }
end