Non credo che un intervallo sia davvero quello che vuoi per quello. Un intervallo rappresenta un intervallo di tempo senza punti finali specifici; ad esempio, aggiungi un intervallo a un'ora esistente per ottenere un'altra ora. Faresti meglio con due tempi distinti:
add_column :merchants, :order_from, :time, :null => false
add_column :merchants, :order_to, :time, :null => false
Quindi, se per qualche motivo hai bisogno di sapere quante ore sono aperte per la consegna, puoi costruire un intervallo sottraendo :order_from
da :order_to
.
Se devi davvero usare un intervallo, allora dovrai costruire un valore simile a questo:
:delivery_time => "interval '11 hour'"
Nota come questo dimostra che un intervallo non è un intervallo di tempo specifico da A a B , è solo un intervallo di tempo di una certa lunghezza (senza punti finali specificati).