Eu não acho que um intervalo é realmente o que você quer para isso. Um intervalo representa um intervalo de tempo sem pontos finais específicos; por exemplo, você adiciona um intervalo a um horário existente para obter outro horário. Você estaria melhor com dois momentos distintos:
add_column :merchants, :order_from, :time, :null => false
add_column :merchants, :order_to, :time, :null => false
Então, se por algum motivo você precisar saber quantas horas eles estão abertos para entrega, você pode construir um intervalo subtraindo
:order_from
de :order_to
. Se você realmente precisar usar um intervalo, precisará construir um valor assim:
:delivery_time => "interval '11 hour'"
Observe como isso ilustra que um intervalo não é um intervalo de tempo específico de A para B , é apenas um intervalo de tempo de um determinado comprimento (sem pontos finais especificados).