Eu tive problemas com o uso de expansão de til em crontabs no passado (isso pode ter sido em um sabor Unix diferente do Linux). Ainda assim, sugiro usar $HOME em vez de ~ .
Além disso, é melhor especificar um caminho completo para o executável ruby . O PATH usado pelo cron geralmente não é o que você definiu em seu ambiente interativo (por exemplo, no meu sistema, o cron PATH é apenas /usr/bin:/bin ).