Sha256: 4a8f450a69d900f66fba71502a4a7525d126d24b06235a5f16f6fc278692391d

Contents?: true

Size: 704 Bytes

Versions: 3

Compression:

Stored size: 704 Bytes

Contents

module Sunspot
  module Query
    class RangeJsonFacet < AbstractJsonFieldFacet

      SECONDS_IN_DAY = 86400

      def initialize(field, options, setup)
        raise Exception.new("Need to specify a range") if options[:range].nil?
        @start = options[:range].first
        @end = options[:range].last
        @gap = options[:gap] || SECONDS_IN_DAY
        super
      end

      def field_name_with_local_params
        {
          @field.name => {
            type: 'range',
            field: @field.indexed_name,
            start: @field.to_indexed(@start),
            end: @field.to_indexed(@end),
            gap: @gap
          }.merge!(init_params)
        }
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sunspot-2.5.0 lib/sunspot/query/range_json_facet.rb
sunspot-2.4.0 lib/sunspot/query/range_json_facet.rb
sunspot-2.3.0 lib/sunspot/query/range_json_facet.rb