Inverta um hash em Ruby

Como eu inverteria os elementos no hash, mantendo os mesmos valores e chaves, mas revertendo sua ordem no hash.

Igual a:

{ "4" => "happiness", "10" => "cool", "lala" => "54", "1" => "spider" }

E converta isso para:

{ "1" => "spider", "lala" => "54", "10" => "cool", "4" => "happiness" }

Ou talvez eu pudesse executar umeach loop para trás, a partir do último elemento no hash, ao invés do primeiro?