Если вы хотите просто проверить обратный диапазон:
(5..1).to_a.empty? #=> true
(1..5).to_a.empty? #=> false
Если вы хотите иметь массив в качестве вывода, вы можете сделать
r.to_a.then { |ary| ary.empty? ? (r.end..r.begin).to_a.reverse : ary }
Выводдля двух случаев:
r = (5..1) #=> [5, 4, 3, 2, 1]
r = (1..5) #=> [1, 2, 3, 4, 5]