Creando permutaciones desde una matriz multidimensional en Ruby

Tengo la siguiente matriz multidimensional en Ruby:

[[1,2], [3], [4,5,6]]

Necesito tener el siguiente resultado:

[[1,3,4], [1,3,5], [1,3,6], [2,3,4], [2,3,5], [2,3,6]]

He intentado crear una función recursiva, pero no tengo mucha suerte.

¿Hay alguna función de Ruby que ayude con esto? ¿O es la única opción para hacerlo de forma recursiva?

Gracia

Respuestas a la pregunta(1)

Su respuesta a la pregunta