summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Braha Stoll <alexbrahastoll@gmail.com>2017-01-30 01:07:31 -0200
committerAlex Braha Stoll <alexbrahastoll@gmail.com>2017-01-30 01:07:31 -0200
commit683097666aa01ef6a5b490be67a4a0d9733152e3 (patch)
tree08ef6a71de041dd2934ecf2056f4a4e9c4076620
parent4c57fa4282afc1679e2891b215174c92bf883c6a (diff)
downloadgitlab-ce-683097666aa01ef6a5b490be67a4a0d9733152e3.tar.gz
Add WikiPage.unhyphenize
-rw-r--r--app/helpers/wiki_helper.rb2
-rw-r--r--app/models/wiki_page.rb6
-rw-r--r--spec/models/wiki_page_spec.rb8
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