Remove WikiPage.sort_by_directory
This commit is contained in:
parent
645aaf6e3d
commit
77fe503a1f
|
@ -17,10 +17,10 @@ class WikiPage
|
||||||
# pages - an array of WikiPage objects.
|
# pages - an array of WikiPage objects.
|
||||||
#
|
#
|
||||||
# Returns a hash whose keys are directories and whose values are WikiPage
|
# Returns a hash whose keys are directories and whose values are WikiPage
|
||||||
# arrays. See WikiPage.sort_by_directory for more info about the ordering.
|
# arrays.
|
||||||
def self.group_by_directory(pages)
|
def self.group_by_directory(pages)
|
||||||
return {} if pages.blank?
|
return {} if pages.blank?
|
||||||
pages = sort_by_directory(pages)
|
pages = pages.sort_by { |page| [page.directory, page.slug] }
|
||||||
|
|
||||||
directories = {}
|
directories = {}
|
||||||
pages.each do |page|
|
pages.each do |page|
|
||||||
|
@ -206,26 +206,6 @@ class WikiPage
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
# Sorts an array of pages by directory and file alphabetical order.
|
|
||||||
# Pages at the root directory will come first. The next pages will be
|
|
||||||
# sorted by their directories. Within directories, pages are sorted by
|
|
||||||
# filename alphabetical order. Pages are sorted in such a fashion that
|
|
||||||
# nested directories will always follow their parents (e.g. pages in
|
|
||||||
# dir_1/nested_dir_1 will follow pages inside dir_1).
|
|
||||||
#
|
|
||||||
# pages - an array of WikiPage objects.
|
|
||||||
#
|
|
||||||
# Returns a sorted array of WikiPage objects.
|
|
||||||
def self.sort_by_directory(pages)
|
|
||||||
pages.sort do |page, next_page|
|
|
||||||
if page.directory == next_page.directory
|
|
||||||
page.slug <=> next_page.slug
|
|
||||||
else
|
|
||||||
page.directory <=> next_page.directory
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def set_attributes
|
def set_attributes
|
||||||
attributes[:slug] = @page.url_path
|
attributes[:slug] = @page.url_path
|
||||||
attributes[:title] = @page.title
|
attributes[:title] = @page.title
|
||||||
|
|
Loading…
Reference in New Issue