Fast sorting of strings representing version numbers.
require 'version_sorter' versions = ["1.0.9", "2.0", "1.0.10", "1.0.3", "2.0.pre"] VersionSorter.sort(versions) #=> 1.0.3 #=> 1.0.9 #=> 1.0.10 #=> 2.0.pre #=> 2.0You can also sort arrays of arbitrary objects by providing a block.
VersionSorter.sort(tags) { |tag| tag.name }Library API:
VersionSorter.sort(versions) #=> sorted array VersionSorter.rsort(versions) #=> reverse sorted array VersionSorter.sort!(versions) # sort array in place VersionSorter.rsort!(versions) # reverse sort array in place VersionSorter.compare(version_a, version_b) #=> positive or negative number depending on which way to sort