instance method
build_arel
Ruby on Rails 5.0.7.2
Since v3.0.20 Private — implementation detail, not part of the public APISignature
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