method

build_join_query

Importance_0
v5.0.0.1 - Show latest stable - 0 notes - Class: ActiveRecord::QueryMethods
build_join_query(manager, buckets, join_type) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/relation/query_methods.rb, line 1061
    def build_join_query(manager, buckets, join_type)
      buckets.default = []

      association_joins         = buckets[:association_join]
      stashed_association_joins = buckets[:stashed_join]
      join_nodes                = buckets[:join_node].uniq
      string_joins              = buckets[:string_join].map(&:strip).uniq

      join_list = join_nodes + convert_join_strings_to_ast(manager, string_joins)

      join_dependency = ActiveRecord::Associations::JoinDependency.new(
        @klass,
        association_joins,
        join_list
      )

      join_infos = join_dependency.join_constraints stashed_association_joins, join_type

      join_infos.each do |info|
        info.joins.each { |join| manager.from(join) }
        manager.bind_values.concat info.binds
      end

      manager.join_sources.concat(join_list)

      manager
    end
Register or log in to add new notes.