Sha256: 345f2a1416b862ceacb2ab649b10551193fc9aca9e679ec0bd4c03793efa92f6

Contents?: true

Size: 756 Bytes

Versions: 3

Compression:

Stored size: 756 Bytes

Contents

# frozen_string_literal: true

module ActsAsRecursiveTree
  module ActsMacro
    ##
    # Configuration options are:
    #
    # * <tt>foreign_key</tt> - specifies the column name to use for tracking
    # of the tree (default: +parent_id+)
    def recursive_tree(parent_key: :parent_id, parent_type_column: nil)
      class_attribute(:_recursive_tree_config, instance_writer: false)

      self._recursive_tree_config = Config.new(
        model_class: self,
        parent_key: parent_key.to_sym,
        parent_type_column: parent_type_column.try(:to_sym)
      )

      include ActsAsRecursiveTree::Model
      include ActsAsRecursiveTree::Associations
      include ActsAsRecursiveTree::Scopes
    end

    alias acts_as_tree recursive_tree
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
acts_as_recursive_tree-3.4.0 lib/acts_as_recursive_tree/acts_macro.rb
acts_as_recursive_tree-3.3.0 lib/acts_as_recursive_tree/acts_macro.rb
acts_as_recursive_tree-3.2.0 lib/acts_as_recursive_tree/acts_macro.rb