Конечно, вы можете сделать что-то вроде:
>> {1=>"10",2=>"20",3=>"30",4=>"40",5=>"50",6=>"60",7=>"70",8=>"80",9=>"90"}.sort{|p,n| (p[1].to_i>=70 && n[1].to_i<70) ? -1 : (p[1].to_i<70 && n[1].to_i>=70) ? 1 : p[1].to_i <=> n[1].to_i}
=> [[7, "70"], [8, "80"], [9, "90"], [1, "10"], [2, "20"], [3, "30"], [4, "40"], [5, "50"], [6, "60"]]
Но сортировка хешей не имеет особого смысла.Перед тем как сортировка фактически произойдет, она преобразуется в массив пар [ключ, значение], затем сортируется по -1,0,1, возвращаемому из <=>.
Если вам нужны отсортированные хэши, вам нужно использоватьчто-то вроде Словарь RubyFacets класс.