Me gustaría tener números de factura consecutivos, pero el método succ apesta (juego de palabras) en este caso.
'427'.succ > '428' (works!) '2021-9'.succ > '2022-0' (does not work) '2021.9'.succ > '2022.0' (does not work)No pude encontrar una gema para esto, solo una gema para ordenar cadenas de forma natural. Si nadie conoce ninguna solución existente, responderé esta pregunta con un método autoprogramado en breve.
Podría usar String#gsub y aplicar succ en el dígito coincidente:
'427'.gsub(/\D(\d+)$|^\d+$/, &:succ) # "428" '2021-9'.gsub(/\D(\d+)$|^\d+$/, &:succ) # "2021-10" '2021-624'.gsub(/\D(\d+)$|^\d+$/, &:succ) # "2021-625"