Class: ThinkingSphinx::Context
- Inherits:
-
Object
- Object
- ThinkingSphinx::Context
- Defined in:
- lib/thinking_sphinx/context.rb
Instance Attribute Summary collapse
-
#indexed_models ⇒ Object
readonly
Returns the value of attribute indexed_models.
Instance Method Summary collapse
- #add_indexed_model(model) ⇒ Object
- #define_indexes ⇒ Object
-
#initialize(*models) ⇒ Context
constructor
A new instance of Context.
- #prepare ⇒ Object
- #superclass_indexed_models ⇒ Object
Constructor Details
#initialize(*models) ⇒ Context
Returns a new instance of Context.
4 5 6 |
# File 'lib/thinking_sphinx/context.rb', line 4 def initialize(*models) @indexed_models = [] end |
Instance Attribute Details
#indexed_models ⇒ Object (readonly)
Returns the value of attribute indexed_models.
2 3 4 |
# File 'lib/thinking_sphinx/context.rb', line 2 def indexed_models @indexed_models end |
Instance Method Details
#add_indexed_model(model) ⇒ Object
25 26 27 28 29 30 31 |
# 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 ⇒ Object
19 20 21 22 23 |
# File 'lib/thinking_sphinx/context.rb', line 19 def define_indexes indexed_models.each { |model| model.constantize.define_indexes } end |
#prepare ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# 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 ⇒ Object
33 34 35 36 37 38 |
# 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 |