Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Braha Stoll <alexbrahastoll@gmail.com>2016-12-17 21:38:55 +0300
committerAlex Braha Stoll <alexbrahastoll@gmail.com>2016-12-31 21:55:50 +0300
commitbebfba3e6de520f98d263ced2d2a17f6ddfc4a6f (patch)
tree7545772dfdc372abf36a5ebe40f387ccb7040f0c /app/models/wiki_page.rb
parent083442bc716d7e69cbb9e7852159b0f3ba9a4610 (diff)
Refactor WikiPage.group_by_directory
Diffstat (limited to 'app/models/wiki_page.rb')
-rw-r--r--app/models/wiki_page.rb15
1 files changed, 6 insertions, 9 deletions
diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb
index 30db2b13dc0..425384d3df4 100644
--- a/app/models/wiki_page.rb
+++ b/app/models/wiki_page.rb
@@ -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