Sha256: 025cbbb1e52f3406af30a04549e6f3e6f7cb6ca458b6e7a6add23fd084c282b9

Contents?: true

Size: 1.13 KB

Versions: 7

Compression:

Stored size: 1.13 KB

Contents

require 'acceptance/spec_helper'

describe 'Accessing attributes directly via search results', :live => true do
  it "allows access to attribute values" do
    Book.create! :title => 'American Gods', :year => 2001
    index

    search = Book.search('gods')
    search.context[:panes] << ThinkingSphinx::Panes::AttributesPane

    search.first.sphinx_attributes['year'].should == 2001
  end

  it "provides direct access to the search weight/relevance scores" do
    Book.create! :title => 'American Gods', :year => 2001
    index

    search = Book.search('gods', :select => '*, @weight')
    search.context[:panes] << ThinkingSphinx::Panes::WeightPane

    search.first.weight.should == 3500
  end

  it "can enumerate with the weight" do
    gods = Book.create! :title => 'American Gods', :year => 2001
    index

    search = Book.search('gods', :select => '*, @weight')
    search.masks << ThinkingSphinx::Masks::WeightEnumeratorMask

    expectations = [[gods, 3500]]
    search.each_with_weight do |result, weight|
      expectation = expectations.shift

      result.should == expectation.first
      weight.should == expectation.last
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
thinking-sphinx-3.0.4 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-3.0.3 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-3.0.2 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-3.0.1 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-3.0.0 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-3.0.0.rc spec/acceptance/attribute_access_spec.rb
thinking-sphinx-3.0.0.pre spec/acceptance/attribute_access_spec.rb