Я не уверен, работает ли это лучше, чем Уэйн Конрад , который сам себя описал "очевидный кусок мусора", но вы могли бы определить Enumerable#sort_by_descending
как
Enumerable.class_eval do
def sort_by_descending(&block)
sort { |a, b| block.bind(b).call <=> block.bind(a).call }
end
end
Тогда назовите это следующим образом:
@songs.sort_by_descending(&:title)