Skip to content
Snippets Groups Projects
Commit bebfba3e authored by Alex Braha Stoll's avatar Alex Braha Stoll
Browse files

Refactor WikiPage.group_by_directory

parent 083442bc
No related branches found
No related tags found
1 merge request!8133Show directory hierarchy when listing wiki pages
Loading
Loading
@@ -13,17 +13,14 @@ class WikiPage
end
 
def self.group_by_directory(pages)
directories = {}
return {} if pages.blank?
directories = { '/' => [] }
 
pages.each do |page|
if page.slug.include?('/')
# Directory hierarchy is given by matching from the beginning up to
# the last forward slash.
directory = page.slug.match(/\A(.+)\//)[1]
directories[directory] = add_to_directory(directories[directory], page)
else
directories['root'] = add_to_directory(directories['root'], page)
end
directory = page.wiki.page_title_and_dir(page.slug).last
directory = '/' if directory.blank?
directories[directory] ||= []
directories[directory] << page
end
 
directories
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment