Ordenar uma lista de objetos usando seus atributos no Ruby

Tenho uma lista deFruit estruturas chamadasbasket. CadaFruit struct tem umname (uma string) e umcalories (um número inteiro). Eu gostaria de classificarbasket de modo a

OFruits com os mais altoscalories aparece primeiro. Por exemplo, uma fruta com 500 calorias aparece antes de uma fruta com 400 calorias.

Se doisFruits são iguaiscalories, aFruit de quemname vem primeiro por ordem alfabética, ignorando o caso. Por exemplo, dadas duas frutas com calorias iguais, uma chamada "banana" virá antes de uma chamada "Citrus".

A definição deFruit não é algo que eu controle, então prefiro uma solução que não envolva misturar nada emFruit ou alterá-lo. Isso é possível

questionAnswers(4)

yourAnswerToTheQuestion