Class: ActiveRecord::HierarchicalQuery::CTE::Query
- Inherits:
-
Object
- Object
- ActiveRecord::HierarchicalQuery::CTE::Query
- Defined in:
- lib/active_record/hierarchical_query/cte/query.rb
Overview
CTE query builder
Instance Attribute Summary collapse
-
#adapter ⇒ Object
readonly
Returns the value of attribute adapter.
-
#builder ⇒ Object
readonly
Returns the value of attribute builder.
-
#columns ⇒ Object
readonly
Returns the value of attribute columns.
Instance Method Summary collapse
- #arel ⇒ Arel::SelectManager
-
#initialize(builder) ⇒ Query
constructor
A new instance of Query.
- #join_conditions ⇒ Object
- #recursive_table ⇒ Arel::Table
Constructor Details
Instance Attribute Details
#adapter ⇒ Object (readonly)
Returns the value of attribute adapter.
12 13 14 |
# File 'lib/active_record/hierarchical_query/cte/query.rb', line 12 def adapter @adapter end |
#builder ⇒ Object (readonly)
Returns the value of attribute builder.
12 13 14 |
# File 'lib/active_record/hierarchical_query/cte/query.rb', line 12 def builder @builder end |
#columns ⇒ Object (readonly)
Returns the value of attribute columns.
12 13 14 |
# File 'lib/active_record/hierarchical_query/cte/query.rb', line 12 def columns @columns end |
Instance Method Details
#arel ⇒ Arel::SelectManager
26 27 28 |
# File 'lib/active_record/hierarchical_query/cte/query.rb', line 26 def arel adapter.visit(:cte, build_arel) end |
#join_conditions ⇒ Object
35 36 37 |
# File 'lib/active_record/hierarchical_query/cte/query.rb', line 35 def join_conditions builder.connect_by_value[recursive_table, table] end |
#recursive_table ⇒ Arel::Table
31 32 33 |
# File 'lib/active_record/hierarchical_query/cte/query.rb', line 31 def recursive_table @recursive_table ||= Arel::Table.new("#{table.name}__recursive") end |