Sha256: c358e050ea7ce3f509351e53acf3a15c203454b6e0e114c9bf3eedd3a0819b41

Contents?: true

Size: 1.03 KB

Versions: 21

Compression:

Stored size: 1.03 KB

Contents

module ActiveRecord
  module ConnectionAdapters
    module Elasticsearch
      module Type # :nodoc:
        class Range < MulticastValue

          def type
            "range_#{nested_type.type}".to_sym
          end

          private

          def cast_value(value)
            return (0..0) unless value.is_a?(Hash)
            # check for existing gte & lte

            min_value = if value['gte']
                          value['gte']
                        elsif value['gt']
                          value['gt'] + 1
                        else
                          nil
                        end

            max_value = if value['lte']
                          value['lte']
                        elsif value['lt']
                          value['lt'] - 1
                        else
                          nil
                        end

            return (0..0) if min_value.nil? || max_value.nil?

            # build & return range
            (min_value..max_value)
          end
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
elasticsearch_record-1.8.2 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.8.0 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.7.2 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.7.1 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.7.0 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.6.0 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.5.3 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.5.2 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.5.1 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.5.0 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.4.0 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.3.1 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.3.0 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.2.4 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.2.3 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.2.1 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.2.0 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.1.0 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.0.2 lib/active_record/connection_adapters/elasticsearch/type/range.rb
elasticsearch_record-1.0.1 lib/active_record/connection_adapters/elasticsearch/type/range.rb