Cómo ordenar una matriz de hashes en ruby

Tengo una matriz, cada uno de cuyos elementos es un hash con tres pares clave / valor:

:phone => "2130001111", :zip => "12345", :city => "sometown"

Me gustaría ordenar los datos porzip así que todos losphones en la misma área están juntos. ¿Ruby tiene una manera fácil de hacer eso? Latawill_paginate paginar datos en una matriz?