riando permutações a partir de uma matriz multidimensional em Ruby

Tenho a seguinte matriz multidimensional em Ruby:

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

Preciso ter a seguinte saída:

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

Tentei criar uma função recursiva, mas não estou tendo muita sort

Existe alguma função Ruby que ajude com isso? Ou é a única opção para fazê-lo recursivamente?

Obrigad

questionAnswers(1)

yourAnswerToTheQuestion