Class: ActsAsRecursiveTree::Builders::Leaves

Inherits:
Descendants show all
Defined in:
lib/acts_as_recursive_tree/builders/leaves.rb

Instance Attribute Summary

Attributes inherited from RelationBuilder

#ids, #klass, #without_ids

Instance Method Summary collapse

Methods inherited from RelationBuilder

#add_pg_cycle_detection, #apply_depth, #apply_except_id, #apply_parent_type_column, #apply_query_opts_condition, #base_table, build, #build, #build_base_join_select, #build_base_select, #build_cte_table, #build_union_select, #config, #initialize, #recursive_temp_table, #travers_loc_table

Constructor Details

This class inherits a constructor from ActsAsRecursiveTree::Builders::RelationBuilder

Instance Method Details

#create_select_manger(column = nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/acts_as_recursive_tree/builders/leaves.rb', line 6

def create_select_manger(column = nil)
  select_manager = super

  select_manager.where(
    travers_loc_table[primary_key].not_in(
      travers_loc_table.where(
        travers_loc_table[parent_key].not_eq(nil)
      ).project(travers_loc_table[parent_key])
    )
  )
  select_manager
end

#get_query_optionsObject



19
20
21
22
# File 'lib/acts_as_recursive_tree/builders/leaves.rb', line 19

def get_query_options(&)
  # do not allow any custom options
  ActsAsRecursiveTree::Options::QueryOptions.new
end