instance method build_arel

Ruby on Rails 5.0.7.2

Since v3.0.20 Private — implementation detail, not part of the public API

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.11.3 v5.0.7.2 v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3.2 v8.0.5.1 v8.1.3.1 edge

Signature

build_arel()

No documentation comment.

Source
# File activerecord/lib/active_record/relation/query_methods.rb, line 959
    def build_arel
      arel = Arel::SelectManager.new(table)

      build_joins(arel, joins_values.flatten) unless joins_values.empty?
      build_left_outer_joins(arel, left_outer_joins_values.flatten) unless left_outer_joins_values.empty?

      arel.where(where_clause.ast) unless where_clause.empty?
      arel.having(having_clause.ast) unless having_clause.empty?
      if limit_value
        if string_containing_comma?(limit_value)
          arel.take(connection.sanitize_limit(limit_value))
        else
          arel.take(Arel::Nodes::BindParam.new)
        end
      end
      arel.skip(Arel::Nodes::BindParam.new) if offset_value
      arel.group(*arel_columns(group_values.uniq.reject(&:blank?))) unless group_values.empty?

      build_order(arel)

      build_select(arel)

      arel.distinct(distinct_value)
      arel.from(build_from) unless from_clause.empty?
      arel.lock(lock_value) if lock_value

      arel
    end

Defined in activerecord/lib/active_record/relation/query_methods.rb line 959 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::QueryMethods

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close