intranet-core 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16bba6e4fbd42e10c7c782d5171b4092f5d116a0
|
4
|
+
data.tar.gz: ac817457c107a692555ae55af7bd98337094c778
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4446887c3d60d16dbacea6820f17f4679490ee0bb83b20cbd5c12d2c9c5e5f98d60e21df0126632539d6789f92a9723bec7ff6a8b7c34d32197ed07e73c9cea4
|
7
|
+
data.tar.gz: 6708f510f4beeb3dc7bb2d981dd2ce49292f602b23489bf9a6c177829ef04040f5f3fe0dba129c9480723f7131dbee754dafa82d9d76e8c496b345450f1f7304
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'titleize'
|
4
|
+
|
3
5
|
module CoreExtensions
|
4
6
|
# @!visibility protected
|
5
7
|
# Extension of Ruby's standard library +String+ class.
|
@@ -39,5 +41,11 @@ module CoreExtensions
|
|
39
41
|
def urlized?
|
40
42
|
scan(/[^-_a-z0-9]/).empty?
|
41
43
|
end
|
44
|
+
|
45
|
+
# Turns underscores into spaces and titleize a string.
|
46
|
+
# @return [String]
|
47
|
+
def humanize
|
48
|
+
tr('_', ' ').titleize
|
49
|
+
end
|
42
50
|
end
|
43
51
|
end
|
@@ -19,14 +19,14 @@
|
|
19
19
|
- responders.children_nodes.each do |child_id, child_node|
|
20
20
|
%li
|
21
21
|
- if child_node.children? # Create a dropdown menu entry
|
22
|
-
%a= I18n.t(child_id + '.menu')
|
22
|
+
%a= I18n.t(child_id + '.menu', default: child_id.humanize)
|
23
23
|
%ul
|
24
24
|
- child_node.children_nodes.each do |child_url, node|
|
25
25
|
%li
|
26
26
|
%a{href: '/' + child_id + '/' + child_url + '/index.html'}
|
27
|
-
= I18n.t(child_id + '.' + child_url + '.menu')
|
27
|
+
= I18n.t(child_id + '.' + child_url + '.menu', default: child_url.humanize)
|
28
28
|
- else # Create a regular menu entry
|
29
|
-
%a{href: '/' + child_id + '/index.html'}= I18n.t(child_id + '.menu')
|
29
|
+
%a{href: '/' + child_id + '/index.html'}= I18n.t(child_id + '.menu', default: child_id.humanize)
|
30
30
|
|
31
31
|
- if is_home
|
32
32
|
%aside
|
@@ -132,4 +132,21 @@ RSpec.describe CoreExtensions::String do
|
|
132
132
|
end
|
133
133
|
end
|
134
134
|
end
|
135
|
+
|
136
|
+
describe '#humanize' do
|
137
|
+
context 'given an empty string' do
|
138
|
+
it 'should return an empty string' do
|
139
|
+
tested_string = ''
|
140
|
+
expect(tested_string.humanize).to eql(tested_string)
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
context 'given a snake-case string' do
|
145
|
+
it 'should return the corresponding string with spaces and each word capitalized' do
|
146
|
+
tested_string = 'this_is_a_sentence_containing_several_words'
|
147
|
+
expected_string = 'This Is a Sentence Containing Several Words'
|
148
|
+
expect(tested_string.humanize).to eql(expected_string)
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
135
152
|
end
|
data/spec/intranet/core_spec.rb
CHANGED
@@ -331,8 +331,8 @@ RSpec.describe Intranet::Core do
|
|
331
331
|
'/index.html' => [206, 'text/html', { content: 'PARTIAL_CONTENT', title: 'MyTitle' }]
|
332
332
|
)
|
333
333
|
@intranet.register_module(responder, [], responder.resources_dir)
|
334
|
-
@intranet.register_module(responder, %w[
|
335
|
-
@intranet.register_module(responder, %w[depth2
|
334
|
+
@intranet.register_module(responder, %w[dep_th1], responder.resources_dir)
|
335
|
+
@intranet.register_module(responder, %w[depth2 res_p1], responder.resources_dir)
|
336
336
|
@intranet.register_module(responder, %w[depth2 resp2], responder.resources_dir)
|
337
337
|
thread = Thread.new do
|
338
338
|
@intranet.start
|
@@ -352,12 +352,12 @@ RSpec.describe Intranet::Core do
|
|
352
352
|
html = socket.readpartial(4096) # read rest of data
|
353
353
|
|
354
354
|
# Returned HTML document main menu
|
355
|
-
expect(html).to match(%r{<a href='/
|
355
|
+
expect(html).to match(%r{<a href='/dep_th1/index.html'>.*Dep Th1.*</a>})
|
356
356
|
expect(html).to match(
|
357
|
-
%r{<a>.*
|
357
|
+
%r{<a>.*Depth2.*</a>.*<ul>.*<a href='/depth2/res_p1/index.html'>.*Res P1.*</a>.*</ul>}m
|
358
358
|
)
|
359
359
|
expect(html).to match(
|
360
|
-
%r{<a>.*
|
360
|
+
%r{<a>.*Depth2.*</a>.*<ul>.*<a href='/depth2/resp2/index.html'>.*Resp2.*</a>.*</ul>}m
|
361
361
|
)
|
362
362
|
ensure
|
363
363
|
socket.close
|