diff options
author | Alex Braha Stoll <alexbrahastoll@gmail.com> | 2017-01-30 01:07:31 -0200 |
---|---|---|
committer | Alex Braha Stoll <alexbrahastoll@gmail.com> | 2017-01-30 01:07:31 -0200 |
commit | 683097666aa01ef6a5b490be67a4a0d9733152e3 (patch) | |
tree | 08ef6a71de041dd2934ecf2056f4a4e9c4076620 | |
parent | 4c57fa4282afc1679e2891b215174c92bf883c6a (diff) | |
download | gitlab-ce-683097666aa01ef6a5b490be67a4a0d9733152e3.tar.gz |
Add WikiPage.unhyphenize
-rw-r--r-- | app/helpers/wiki_helper.rb | 2 | ||||
-rw-r--r-- | app/models/wiki_page.rb | 6 | ||||
-rw-r--r-- | spec/models/wiki_page_spec.rb | 8 |
3 files changed, 14 insertions, 2 deletions
diff --git a/app/helpers/wiki_helper.rb b/app/helpers/wiki_helper.rb index 76ee632ab6d..3e3f6246fc5 100644 --- a/app/helpers/wiki_helper.rb +++ b/app/helpers/wiki_helper.rb @@ -7,7 +7,7 @@ module WikiHelper # capitalized name of the page itself. def breadcrumb(page_slug) page_slug.split('/'). - map { |dir_or_page| dir_or_page.gsub(/-+/, ' ').capitalize }. + map { |dir_or_page| WikiPage.unhyphenize(dir_or_page).capitalize }. join(' / ') end end diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 20bd9719b2f..2f4f92846b4 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -34,6 +34,10 @@ class WikiPage flatten end + def self.unhyphenize(name) + name.gsub(/-+/, ' ') + end + def to_key [:slug] end @@ -78,7 +82,7 @@ class WikiPage # The formatted title of this page. def title if @attributes[:title] - @attributes[:title].gsub(/-+/, ' ') + self.class.unhyphenize(@attributes[:title]) else "" end diff --git a/spec/models/wiki_page_spec.rb b/spec/models/wiki_page_spec.rb index 109a0499090..579ebac7afb 100644 --- a/spec/models/wiki_page_spec.rb +++ b/spec/models/wiki_page_spec.rb @@ -68,6 +68,14 @@ describe WikiPage, models: true do end end + describe '.unhyphenize' do + it 'removes hyphens from a name' do + name = 'a-name--with-hyphens' + + expect(WikiPage.unhyphenize(name)).to eq('a name with hyphens') + end + end + describe "#initialize" do context "when initialized with an existing gollum page" do before do |