Class: MongoidSphinx::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/mongoid_sphinx/context.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*models) ⇒ Context

Returns a new instance of Context.



4
5
6
# File 'lib/mongoid_sphinx/context.rb', line 4

def initialize(*models)
  @indexed_models = []
end

Instance Attribute Details

#indexed_modelsObject (readonly)

Returns the value of attribute indexed_models.



2
3
4
# File 'lib/mongoid_sphinx/context.rb', line 2

def indexed_models
  @indexed_models
end

Instance Method Details

#add_indexed_model(model) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/mongoid_sphinx/context.rb', line 24

def add_indexed_model(model)
  model = model.name if model.is_a?(Class)
  
  indexed_models << model
  indexed_models.uniq!
  indexed_models.sort!
end

#define_indexesObject



18
19
20
21
22
# File 'lib/mongoid_sphinx/context.rb', line 18

def define_indexes
  indexed_models.each { |model|
    model.constantize.define_indexes
  }
end

#prepareObject



8
9
10
11
12
13
14
15
16
# File 'lib/mongoid_sphinx/context.rb', line 8

def prepare
  MongoidSphinx::Configuration.instance.indexed_models.each do |model|
    add_indexed_model model
  end
  
  return unless indexed_models.empty?
  
  load_models
end