diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index dec58681198b071f3766b25197b924aa462a414c..6c237306effec41bea5891d5e4a30ca33e18b00f 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -25,10 +25,10 @@ class WikiPage pages.sort_by { |page| [page.directory, page.slug] }. group_by { |page| page.directory }. map do |dir, pages| - if dir == '/' - pages - else + if dir.present? WikiDirectory.new(dir, pages) + else + pages end end. flatten @@ -98,8 +98,7 @@ class WikiPage # The hierarchy of the directory this page is contained in. def directory - dir = wiki.page_title_and_dir(slug).last - "/#{dir}" + wiki.page_title_and_dir(slug).last end # The processed/formatted content of this page. diff --git a/spec/models/wiki_page_spec.rb b/spec/models/wiki_page_spec.rb index 482f98e22f18b94a155e2748d4316e03dbfc4741..109a04990901f77dfc7f98e46e92099826d5be1a 100644 --- a/spec/models/wiki_page_spec.rb +++ b/spec/models/wiki_page_spec.rb @@ -252,11 +252,11 @@ describe WikiPage, models: true do describe '#directory' do context 'when the page is at the root directory' do - it 'returns /' do + it 'returns an empty string' do create_page('file', 'content') page = wiki.find_page('file') - expect(page.directory).to eq('/') + expect(page.directory).to eq('') end end @@ -265,7 +265,7 @@ describe WikiPage, models: true do create_page('dir_1/dir_1_1/file', 'content') page = wiki.find_page('dir_1/dir_1_1/file') - expect(page.directory).to eq('/dir_1/dir_1_1') + expect(page.directory).to eq('dir_1/dir_1_1') end end end