method
preprocess_order_args
v4.2.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 1122
def preprocess_order_args(order_args)
order_args.flatten!
validate_order_args(order_args)
references = order_args.grep(String)
references.map! { |arg| arg =~ /^([a-zA-Z]\w*)\.(\w+)/ && $1 }.compact!
references!(references) if references.any?
# if a symbol is given we prepend the quoted table name
order_args.map! do |arg|
case arg
when Symbol
arg = klass.attribute_alias(arg) if klass.attribute_alias?(arg)
table[arg].asc
when Hash
arg.map { |field, dir|
field = klass.attribute_alias(field) if klass.attribute_alias?(field)
table[field].send(dir.downcase)
}
else
arg
end
end.flatten!
end