я думаю, что это невозможно сделать таким образом.
можно определить методы класса и области, которые можно вызывать как User.first(20).sorted_my_way
, но они могут только добавлять материал в создаваемый вами запрос.если вы хотите отсортировать в ruby, я думаю, что вам нужно обернуть весь материал, например:
class User
self.sorted_my_way(limit)
first(20).sort_by {...}
end
end
User.sorted_my_way(20)
Еще одна вещь, которую вы могли бы сделать, это использовать метод стиля блока:
class User
self.sorted_my_way
yield.sort_by {...}
end
end
User.sorted_my_way { first(20) }