Sha256: 3f9f48a8c54ecb67e5b20e48afea229e4e1164fca0c19f9859b6838ff2ac8bf3

Contents?: true

Size: 610 Bytes

Versions: 8

Compression:

Stored size: 610 Bytes

Contents

# frozen_string_literal: true

module ActsAsRecursiveTree
  module Builders
    #
    # Strategy module for different strategies of how to build the resulting query.
    #
    module Strategies
      #
      # Returns a Strategy appropriate for query_opts
      #
      # @param query_opts [ActsAsRecursiveTree::Options::QueryOptions]
      #
      # @return a strategy class best suited for the opts
      def self.for_query_options(query_opts)
        if query_opts.ensure_ordering || query_opts.query_strategy == :join
          Join
        else
          Subselect
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
acts_as_recursive_tree-4.1.0 lib/acts_as_recursive_tree/builders/strategies.rb
acts_as_recursive_tree-4.0.0 lib/acts_as_recursive_tree/builders/strategies.rb
acts_as_recursive_tree-3.5.0 lib/acts_as_recursive_tree/builders/strategies.rb
acts_as_recursive_tree-3.4.0 lib/acts_as_recursive_tree/builders/strategies.rb
acts_as_recursive_tree-3.3.0 lib/acts_as_recursive_tree/builders/strategies.rb
acts_as_recursive_tree-3.2.0 lib/acts_as_recursive_tree/builders/strategies.rb
acts_as_recursive_tree-3.1.0 lib/acts_as_recursive_tree/builders/strategies.rb
acts_as_recursive_tree-3.0.0 lib/acts_as_recursive_tree/builders/strategies.rb