method
preprocess_order_args
v6.1.3.1 -
Show latest stable
- Class:
ActiveRecord::QueryMethods
preprocess_order_args(order_args)private
No documentation available.
# File activerecord/lib/active_record/relation/query_methods.rb, line 1391
def preprocess_order_args(order_args)
@klass.disallow_raw_sql!(
order_args.flat_map { |a| a.is_a?(Hash) ? a.keys : a },
permit: connection.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 { |field, dir|
case field
when Arel::Nodes::SqlLiteral
field.public_send(dir.downcase)
else
order_column(field.to_s).public_send(dir.downcase)
end
}
else
arg
end
end.flatten!
end