class ActiveRecord::HierarchicalQuery::CTE::UnionTerm

Attributes

union_type[R]

Public Class Methods

new(builder, options = {}) click to toggle source

@param [ActiveRecord::HierarchicalQuery::CTE::QueryBuilder] builder

# File lib/active_record/hierarchical_query/cte/union_term.rb, line 9
def initialize(builder, options = {})
  @builder = builder
  @union_type = options.fetch(:union_type, :all)
end

Public Instance Methods

arel() click to toggle source
# File lib/active_record/hierarchical_query/cte/union_term.rb, line 18
def arel
  non_recursive_term.arel.union(union_type, recursive_term.arel)
end
bind_values() click to toggle source
# File lib/active_record/hierarchical_query/cte/union_term.rb, line 14
def bind_values
  non_recursive_term.bind_values + recursive_term.bind_values
end

Private Instance Methods

non_recursive_term() click to toggle source
# File lib/active_record/hierarchical_query/cte/union_term.rb, line 29
def non_recursive_term
  @nrt ||= NonRecursiveTerm.new(@builder)
end
recursive_term() click to toggle source
# File lib/active_record/hierarchical_query/cte/union_term.rb, line 25
def recursive_term
  @rt ||= RecursiveTerm.new(@builder)
end