instance method
preprocess_order_args
Ruby on Rails 8.1.2
Since v4.1.16 PrivateSignature
preprocess_order_args(order_args)
No documentation comment.
Parameters
-
order_argsreq
Source
# File activerecord/lib/active_record/relation/query_methods.rb, line 2092
def preprocess_order_args(order_args)
model.disallow_raw_sql!(
flattened_args(order_args),
permit: model.adapter_class.column_name_with_order_matcher
)
validate_order_args(order_args)
references = column_references(order_args)
self.references_values |= references unless references.empty?
# if a symbol is given we prepend the quoted table name
order_args.map! do |arg|
case arg
when Symbol
order_column(arg.to_s).asc
when Hash
arg.map do |key, value|
if value.is_a?(Hash)
value.map do |field, dir|
order_column([key.to_s, field.to_s].join(".")).public_send(dir.downcase)
end
else
case key
when Arel::Nodes::SqlLiteral, Arel::Nodes::Node, Arel::Attribute
key.public_send(value.downcase)
else
order_column(key.to_s).public_send(value.downcase)
end
end
end
else
arg
end
end.flatten!
end
Defined in activerecord/lib/active_record/relation/query_methods.rb line 2092
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::QueryMethods