Skip to content

Commit 14f21e8

Browse files
committed
Titleize irb and ARGV
1 parent a42ebd9 commit 14f21e8

File tree

2 files changed

+25
-10
lines changed

2 files changed

+25
-10
lines changed

lib/titleizer.rb

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,29 @@
11
module Titleizer
22
def self.title_for_page page_name
3-
to_be_upcased = [
4-
'rvm',
5-
'ssh',
6-
'dvd',
7-
'crud',
8-
'mvc',
9-
'html',
10-
]
3+
to_be_upcased = %w(
4+
rvm
5+
ssh
6+
dvd
7+
crud
8+
mvc
9+
html
10+
argv
11+
)
12+
13+
to_be_lowercased = %w(
14+
irb
15+
nil
16+
)
1117

1218
special_cases = {
13-
'osx' => 'OS X',
14-
'irb' => 'irb',
19+
'osx' => 'OS X'
1520
}
1621

1722
page_name.split(/[-_]/).map do |w|
1823
if to_be_upcased.include?(w.downcase)
1924
w.upcase
25+
elsif to_be_lowercased.include?(w.downcase)
26+
w.downcase
2027
elsif special_cases.include?(w)
2128
special_cases[w]
2229
else

spec/titleizer_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@
2626
expect(Titleizer.title_for_page('whats_the_deal_with_html')).to eq('Whats The Deal With HTML')
2727
end
2828

29+
it 'uppercases argv' do
30+
expect(Titleizer.title_for_page('argv')).to eq('ARGV')
31+
end
32+
33+
it 'keeps irb lowercase' do
34+
expect(Titleizer.title_for_page('irb_as_a_service')).to eq('irb As A Service')
35+
end
36+
2937
it 'capitalizes sentences' do
3038
expect(Titleizer.title_for_page('sandwich_parade_on_tuesday')).to eq('Sandwich Parade On Tuesday')
3139
end

0 commit comments

Comments
 (0)