Ruby: classifica a matriz de objetos com base na matriz de inteiros

Isso parece bastante simples, e deveria ter sido perguntado antes, mas tudo que eu encontro no Stack Overflow parece não funcionar. Eu tenho uma matriz de 4 objetos e gostaria de reordená-lo em uma ordem específica. Então, parece assim:

array = [Obj1, Obj2, Obj3, Obj4]

Eu tenho outra matriz de inteiros que representam a ordem desejada dos índices:

desired_order = [2,3,0,1]

Então, o que eu gostaria de ver depois de pedirarray corretamente é:

array = [Obj3, Obj4, Obj1, Obj2]

Eu já percebisort_by é o método a ser usado, mas não consigo encontrar a sintaxe apropriada. Qualquer ajuda é muito apreciada!

questionAnswers(3)

yourAnswerToTheQuestion