Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Faster string ordering for humans.
C Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
ext
lib
test
.gitignore
Gemfile
LICENSE
README.md
Rakefile
sort_authority.gemspec

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.

Something went wrong with that request. Please try again.