Module: Enumerable

Defined in:
lib/generators/katapult/basics/templates/lib/ext/enumerable/natural_sort.rb

Instance Method Summary collapse

Instance Method Details

#natural_sortObject



3
4
5
# File 'lib/generators/katapult/basics/templates/lib/ext/enumerable/natural_sort.rb', line 3

def natural_sort
  natural_sort_by
end

#natural_sort_by(&stringifier) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/generators/katapult/basics/templates/lib/ext/enumerable/natural_sort.rb', line 7

def natural_sort_by(&stringifier)
  sort_by do |element|
    element = stringifier.call(element) if stringifier
    element = element.to_s unless element.respond_to?(:to_sort_atoms)
    element.to_sort_atoms
  end
end