Faster string ordering for humans.
C Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ext Initial commit Aug 2, 2013
lib Bump gem version for release Dec 26, 2013
test Guard against sorting nil values Dec 19, 2013
.gitignore Initial commit Aug 2, 2013
Gemfile Initial commit Aug 2, 2013
LICENSE Initial commit Aug 2, 2013
README.md Initial commit Aug 2, 2013
Rakefile Initial commit Aug 2, 2013
sort_authority.gemspec Initial commit Aug 2, 2013

README.md

sort_authority

Natural order string comparison using natsort by Martin Pool.

Getting Started

If you're using Bundler, you can add sort_authority to your Gemfile:

gem 'sort_authority'

Or manually install the gem using:

gem install sort_authority

Usage

# bad
['9 Main Street', '10 Main Street'].sort
# => ['10 Main Street', '9 Main Street']

# good!
require 'sort_authority/ext/enumerable'
['9 Main Street', '10 Main Street'].natural_sort
# => ['9 Main Street', '10 Main Street']

Benchmarks

Comparison of sorting an array ['x1'] * 100_000 with naturalsort, naturally, natcmp, and sensible_sort.

                 user     system      total        real
sort             0.000000   0.000000   0.000000 (  0.001758)
strnatcmp.c      0.030000   0.000000   0.030000 (  0.029083)
naturalsort gem  0.060000   0.000000   0.060000 (  0.061879)
naturally gem    0.990000   0.020000   1.010000 (  1.009634)
natcmp gem       1.140000   0.010000   1.150000 (  1.141950)
sensible_sort    2.280000   0.000000   2.280000 (  2.286274)

Contributing

Fork, branch, and pull-request.