class ActiveRecord::HierarchicalQuery::CTE::Columns

Public Class Methods

new(query) click to toggle source

@param [ActiveRecord::HierarchicalQuery::Query] query

# File lib/active_record/hierarchical_query/cte/columns.rb, line 8
def initialize(query)
  @query = query
end

Public Instance Methods

to_a() click to toggle source

returns columns to be selected from both recursive and non-recursive terms

# File lib/active_record/hierarchical_query/cte/columns.rb, line 13
def to_a
  column_names = [@query.klass.primary_key] | connect_by_columns
  column_names.map { |name| @query.table[name] }
end
Also aliased as: to_ary
to_ary()
Alias for: to_a

Private Instance Methods

connect_by_columns() click to toggle source
# File lib/active_record/hierarchical_query/cte/columns.rb, line 20
def connect_by_columns
  @query.join_conditions.grep(Arel::Attributes::Attribute) { |column| column.name.to_s }
end