Ruby: ordena la matriz de objetos en base a la matriz de enteros

Parece que es bastante simple, y debería haber sido preguntado antes, pero todo lo que encuentro en Stack Overflow no parece funcionar. Tengo una matriz de 4 objetos, y me gustaría reordenarlo en un orden particular. Entonces, se ve así:

array = [Obj1, Obj2, Obj3, Obj4]

Tengo otra matriz de enteros que representan el orden deseado de los índices:

desired_order = [2,3,0,1]

Así que lo que me gustaría ver después de ordenararray correctamente es:

array = [Obj3, Obj4, Obj1, Obj2]

Ya he imaginadosort_by es el método a utilizar, pero parece que no puedo encontrar la sintaxis adecuada. ¡Cualquier ayuda es muy apreciada!

Respuestas a la pregunta(3)

Su respuesta a la pregunta