配列の要素の置換は、Array#mapにブロック渡すのが一番好き。

あと、ハッシュの順番の問題はいったんeach{|k,v|でキーと値を取り出して配列にぶっこんでやれば、あとは任意の要素でsortすればいいんじゃないかな。