Classificando uma matriz de matrizes em Ruby

Eu tenho uma matriz de matrizes assim:

irb(main):028:0> device_array
=> [["name1", "type1", ["A", "N", "N"], ["Attribute", "device_attribute"], 9], ["name2","type2", ["A", "N", "N"], ["Attribute", "device_attribute"], 7]]

Eu gostaria de classificar o device_array inteiro no 4º elemento.

eu tentei

AllDevicesController.all_devices.sort do | a,b |
  for i in 0..(AllDevicesController.all_devices.length - 1) do
    a[i][4] <=> b[i][4]
  end
end

Eu também tentei:

AllDevicesController.all_devices.sort do | a,b |
  a[][4] <=> b[][4]
end

Ambos os métodos não funcionaram.

Eu estava usando isso como referência:http://ariejan.net/2007/01/28/ruby-sort-an-array-of-objects-by-an-attribute/

Eu imagino que estou perdendo algo que torna isso muito fácil.

questionAnswers(4)

yourAnswerToTheQuestion