Sha256: 08d0df801909a6f2df95733c380efd47cc715ef6d2ca81ad789028b43ac56997
Contents?: true
Size: 847 Bytes
Versions: 1
Compression:
Stored size: 847 Bytes
Contents
module ActsAsRecursiveTree module Builders module Strategy # # Build a relation using an INNER JOIN. # module Join # # Builds the relation. # # @param builder [ActsAsRecursiveTree::Builders::RelationBuilder] # @return [ActiveRecord::Relation] def self.build(builder) final_select_mgr = builder.base_table.join( builder.create_select_manger.as(builder.recursive_temp_table.name) ).on( builder.base_table[builder.primary_key].eq(builder.recursive_temp_table[builder.primary_key]) ) relation = builder.klass.joins(final_select_mgr.join_sources) relation = builder.apply_depth(relation) relation = builder.apply_order(relation) relation end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
acts_as_recursive_tree-2.1.0 | lib/acts_as_recursive_tree/builders/strategy/join.rb |