Follow Ruby Styleguide

This commit is contained in:
Anatol Broder 2014-05-06 22:49:49 +02:00
parent 19b0fe9781
commit 1e0d9f899b
1 changed files with 16 additions and 5 deletions

View File

@ -197,15 +197,26 @@ module Jekyll
# nils ('first' | 'last') - nils appear before or after non-nil values
#
# Returns the filtered array of objects
def sort(input, key = nil, nils = 'first')
def sort(input, key = nil, nils = "first")
if key.nil?
input.sort
else
case
when nils == "first"
order = - 1
when nils == "last"
order = + 1
else
Jekyll.logger.error "Invalid nils order:",
"'#{nils}' is not a valid nils order. It must be 'first' or 'last'."
exit(1)
end
input.sort { |a, b|
if a[key].nil? and !b[key].nil?
nils == 'first' ? -1 : +1
elsif !a[key].nil? and b[key].nil?
nils == 'first' ? +1 : -1
if !a[key].nil? && b[key].nil?
- order
elsif a[key].nil? && !b[key].nil?
+ order
else
a[key] <=> b[key]
end