Sha256: b062dd6a6b36e12067b623f17c975ddfbbe408e99d45c2182427221967f17be4

Contents?: true

Size: 1.07 KB

Versions: 35

Compression:

Stored size: 1.07 KB

Contents

module Picky

  module Query

    class IndexesCheck

      class << self

        # Returns the right combinations strategy for
        # a number of query indexes.
        #
        # Currently it isn't possible using Memory and Redis etc.
        # indexes in the same query index group.
        #
        # Picky will raise a Query::Indexes::DifferentBackendsError.
        #
        def check_backends indexes
          backends = indexes.map &:backend
          backends.uniq! &:class
          raise_different backends if backends.size > 1
          backends
        end
        def raise_different backends
          raise DifferentBackendsError.new(backends)
        end

      end

    end

    # Currently it isn't possible using Memory and Redis etc.
    # indexes in the same query index group.
    #
    class DifferentBackendsError < StandardError
      def initialize backends
        @backends = backends
      end
      def to_s
        "Currently it isn't possible to mix Indexes with backends #{@backends.join(" and ")} in the same Search instance."
      end
    end

  end

end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
picky-4.12.4 lib/picky/query/indexes_check.rb
picky-4.12.3 lib/picky/query/indexes_check.rb
picky-4.12.2 lib/picky/query/indexes_check.rb
picky-4.12.1 lib/picky/query/indexes_check.rb
picky-4.12.0 lib/picky/query/indexes_check.rb
picky-4.11.3 lib/picky/query/indexes_check.rb
picky-4.11.2 lib/picky/query/indexes_check.rb
picky-4.11.1 lib/picky/query/indexes_check.rb
picky-4.11.0 lib/picky/query/indexes_check.rb
picky-4.10.0 lib/picky/query/indexes_check.rb
picky-4.9.0 lib/picky/query/indexes_check.rb
picky-4.8.1 lib/picky/query/indexes_check.rb
picky-4.8.0 lib/picky/query/indexes_check.rb
picky-4.7.0 lib/picky/query/indexes_check.rb
picky-4.6.6 lib/picky/query/indexes_check.rb
picky-4.6.5 lib/picky/query/indexes_check.rb
picky-4.6.4 lib/picky/query/indexes_check.rb
picky-4.6.3 lib/picky/query/indexes_check.rb
picky-4.6.2 lib/picky/query/indexes_check.rb
picky-4.6.1 lib/picky/query/indexes_check.rb