Sortowanie ciągów liczbowych w Ruby

Mam tablicę numerów wersji napisów, które chciałbym posortować, ale nie mogę ich przez całe życie uporządkować tak, jak chcę:

versions = [ "1.0.4", "1.0.6", "1.0.11", "1.1.9", "1.1.10", "1.0.16" ]

versions.sort_by {|v| [v.size]}
=> ["1.0.4", "1.0.6", "1.1.9", "1.0.11", "1.1.10", "1.0.16"]

Próbuję osiągnąć:

=> ["1.0.4", "1.0.6", "1.0.11", "1.0.16", "1.1.9", "1.1.10"]

Wydaje się, że ma to coś wspólnego z leksykograficznie, ale mam problem z wypracowaniem reguły sortowania, którą muszę zastosować.

Każda pomoc lub punkt we właściwym kierunku byłby bardzo mile widziany.

questionAnswers(1)

yourAnswerToTheQuestion