Module: ThinkingSphinx::Source::InternalProperties
- Included in:
- ThinkingSphinx::Source
- Defined in:
- lib/thinking_sphinx/source/internal_properties.rb
Instance Method Summary collapse
- #add_internal_attribute(name, type, contents, facet = false) ⇒ Object
- #add_internal_attributes_and_facets ⇒ Object
- #add_internal_facet(name) ⇒ Object
- #attribute_by_alias(attr_alias) ⇒ Object
- #facet_by_alias(name) ⇒ Object
- #subclasses_to_s ⇒ Object
Instance Method Details
#add_internal_attribute(name, type, contents, facet = false) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/thinking_sphinx/source/internal_properties.rb', line 13 def add_internal_attribute(name, type, contents, facet = false) return unless attribute_by_alias(name).nil? Attribute.new(self, ThinkingSphinx::Index::FauxColumn.new(contents), :type => type, :as => name, :facet => facet, :admin => true ) end |
#add_internal_attributes_and_facets ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'lib/thinking_sphinx/source/internal_properties.rb', line 4 def add_internal_attributes_and_facets add_internal_attribute :sphinx_internal_id, :integer, @model.primary_key_for_sphinx.to_sym add_internal_attribute :class_crc, :integer, crc_column, true add_internal_attribute :subclass_crcs, :multi, subclasses_to_s add_internal_attribute :sphinx_deleted, :integer, "0" add_internal_facet :class_crc end |
#add_internal_facet(name) ⇒ Object
25 26 27 28 29 |
# File 'lib/thinking_sphinx/source/internal_properties.rb', line 25 def add_internal_facet(name) return unless facet_by_alias(name).nil? @model.sphinx_facets << ClassFacet.new(attribute_by_alias(name)) end |
#attribute_by_alias(attr_alias) ⇒ Object
31 32 33 |
# File 'lib/thinking_sphinx/source/internal_properties.rb', line 31 def attribute_by_alias(attr_alias) @attributes.detect { |attrib| attrib.alias == attr_alias } end |
#facet_by_alias(name) ⇒ Object
35 36 37 |
# File 'lib/thinking_sphinx/source/internal_properties.rb', line 35 def facet_by_alias(name) @model.sphinx_facets.detect { |facet| facet.name == name } end |
#subclasses_to_s ⇒ Object
39 40 41 42 43 |
# File 'lib/thinking_sphinx/source/internal_properties.rb', line 39 def subclasses_to_s "'" + (@model.send(:subclasses).collect { |klass| klass.to_crc32.to_s } << @model.to_crc32.to_s).join(",") + "'" end |