Sha256: 589dfa8431510f22023d9af88a2cb983ee15a757ebcf7ba80dae3e75df0dc313

Contents?: true

Size: 842 Bytes

Versions: 3

Compression:

Stored size: 842 Bytes

Contents

module Sunspot
  module Query
    class RangeJsonFacet < AbstractJsonFieldFacet

      SECONDS_IN_DAY = 86400

      def initialize(field, options, setup)
        options[:range] ||= options[:time_range]
        raise Exception.new("Need to specify a range") if options[:range].nil? && options[:time_range].nil?
        @start = options[:range].first
        @end = options[:range].last
        @gap = options[:gap] || SECONDS_IN_DAY
        @other = options[:other]
        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,
            other: @other
          }.merge!(init_params)
        }
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sunspot-2.7.1 lib/sunspot/query/range_json_facet.rb
sunspot-2.7.0 lib/sunspot/query/range_json_facet.rb
sunspot-2.6.0 lib/sunspot/query/range_json_facet.rb