Sha256: 2ae04f5342f3f073efd96eafdb9ae6db401972593e82d7bfab89e670295430be

Contents?: true

Size: 1.11 KB

Versions: 49

Compression:

Stored size: 1.11 KB

Contents

module Sunspot
  module DSL
    # 
    # This tiny DSL class implements the DSL for the FieldQuery.facet
    # method.
    #
    class QueryFacet
      def initialize(query, setup, facet) #:nodoc:
        @query, @setup, @facet = query, setup, facet
      end

      # 
      # Add a row to this query facet. The label argument can be anything; it's
      # simply the value that's passed into the Sunspot::QueryFacetRow object
      # corresponding to the row that's created. Use whatever seems most
      # intuitive.
      #
      # The block is evaluated in the context of a Sunspot::DSL::Scope, meaning
      # any restrictions can be placed on the documents matching this facet row.
      #
      # ==== Parameters
      #
      # label<Object>::
      #   An object used to identify this facet row in the results.
      #
      def row(label, &block)
        query_facet = Sunspot::Query::QueryFacet.new
        Sunspot::Util.instance_eval_or_call(
          Scope.new(@query.add_query_facet(query_facet), @setup),
          &block
        )
        @facet.add_row(label, query_facet.to_boolean_phrase)
      end
    end
  end
end

Version data entries

49 entries across 49 versions & 10 rubygems

Version Path
gojee-sunspot-2.0.5 lib/sunspot/dsl/query_facet.rb
gojee-sunspot-2.0.4 lib/sunspot/dsl/query_facet.rb
gojee-sunspot-2.0.2 lib/sunspot/dsl/query_facet.rb
sunspot-1.3.3 lib/sunspot/dsl/query_facet.rb
sunspot-1.3.2 lib/sunspot/dsl/query_facet.rb
sunspot-2.0.0.pre.120417 lib/sunspot/dsl/query_facet.rb
sunspot-2.0.0.pre.120415 lib/sunspot/dsl/query_facet.rb
sunspot-1.3.1 lib/sunspot/dsl/query_facet.rb
erichummel-sunspot-2.0.0.pre.111215d lib/sunspot/dsl/query_facet.rb
erichummel-sunspot-2.0.0.pre.111215c lib/sunspot/dsl/query_facet.rb
erichummel-sunspot-2.0.0.pre.111215b lib/sunspot/dsl/query_facet.rb
erichummel-sunspot-2.0.0.pre.111215a lib/sunspot/dsl/query_facet.rb
erichummel-sunspot-2.0.0.pre.111215 lib/sunspot/dsl/query_facet.rb
sunspot-2.0.0.pre.111215 lib/sunspot/dsl/query_facet.rb
cb_sunspot-2.0.0.pre.5 lib/sunspot/dsl/query_facet.rb
cb_sunspot-2.0.0.pre.3 lib/sunspot/dsl/query_facet.rb
cb_sunspot-2.0.0.pre3 lib/sunspot/dsl/query_facet.rb
sunspot-1.3.0 lib/sunspot/dsl/query_facet.rb
pduey-sunspot-1.2.1.1 lib/sunspot/dsl/query_facet.rb
sunspot-1.3.0.rc6 lib/sunspot/dsl/query_facet.rb