# File lib/thinking_sphinx/real_time/interpreter.rb, line 4 def has(*columns) options = columns.extract_options! @index.attributes += columns.collect { |column| ::ThinkingSphinx::RealTime::Attribute.new column, options } end
# File lib/thinking_sphinx/real_time/interpreter.rb, line 11 def indexes(*columns) options = columns.extract_options! @index.fields += columns.collect { |column| ::ThinkingSphinx::RealTime::Field.new column, options } append_sortable_attributes columns, options if options[:sortable] end
# File lib/thinking_sphinx/real_time/interpreter.rb, line 20 def scope(&block) @index.scope = block end
# File lib/thinking_sphinx/real_time/interpreter.rb, line 24 def set_property(properties) properties.each do |key, value| @index.send("#{key}=", value) if @index.class.settings.include?(key) end end
# File lib/thinking_sphinx/real_time/interpreter.rb, line 30 def where(condition) @index.conditions << condition end
# File lib/thinking_sphinx/real_time/interpreter.rb, line 36 def append_sortable_attributes(columns, options) options = options.except(:sortable).merge(:type => :string) @index.attributes += columns.collect { |column| aliased_name = options[:as] aliased_name ||= column.__name.to_sym if column.respond_to?(:__name) aliased_name ||= column options[:as] = "#{aliased_name}_sort".to_sym ::ThinkingSphinx::RealTime::Attribute.new column, options } end