intranet-system 1.0.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/lib/intranet/resources/www/jsystem.js +1 -1
- data/lib/intranet/resources/www/style.css +0 -1
- data/lib/intranet/system/linux_stats_provider.rb +6 -5
- data/lib/intranet/system/responder.rb +2 -2
- data/lib/intranet/system/version.rb +1 -1
- data/spec/intranet/system/responder_spec.rb +29 -27
- data/spec/spec_helper.rb +6 -2
- metadata +12 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6f417bc8df3fe0478fc4b8adadc1f26028f3f870cd851043f2562077f2328d42
|
4
|
+
data.tar.gz: f2d5f9db01f81c2db63437a0f99340aba8cc162af98480fbff38d38f1f9f1441
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e822d962957dbbf9852ab1f3bf776932c8495b73aee9e9c2a57ccc62c0951bc8964b11ebd19400f2f24b7631c3d1d92523ef7ddc7e510889fe5ad66dc979099
|
7
|
+
data.tar.gz: c0da832a5a265d6532b73d7778e7797231a93aa7d69230d0c4aedbe81d5560469983f5770d4833bf779325d338a6bb665d03e3f98bfb11da1b3d8688b6de0059
|
@@ -28,7 +28,7 @@ function updateMarkdownContent(json) {
|
|
28
28
|
const loadAvgTriplet = ['load1min', 'load5min', 'load15min'];
|
29
29
|
for (let i = 0; i < loadAvgTriplet.length; i++) {
|
30
30
|
const load = json.loadavg[i];
|
31
|
-
document.getElementById(loadAvgTriplet[i]).getElementsByClassName('info')[0].textContent = load;
|
31
|
+
document.getElementById(loadAvgTriplet[i]).getElementsByClassName('info')[0].textContent = load.toFixed(2);
|
32
32
|
document.getElementById(loadAvgTriplet[i]).getElementsByTagName('meter')[0].max = 100 * cpuNumber;
|
33
33
|
document.getElementById(loadAvgTriplet[i]).getElementsByTagName('meter')[0].optimum = 50 * cpuNumber;
|
34
34
|
document.getElementById(loadAvgTriplet[i]).getElementsByTagName('meter')[0].low = 80 * cpuNumber;
|
@@ -22,13 +22,14 @@ module Intranet
|
|
22
22
|
|
23
23
|
# Initializes a new Linux statistics provider.
|
24
24
|
def initialize
|
25
|
-
@stats =
|
25
|
+
@stats = {
|
26
26
|
hostname: Socket.gethostname,
|
27
27
|
loadavg: nil,
|
28
28
|
cpu: { model: cpu_model, nb_cores: nb_cores },
|
29
29
|
ram: { total: ram_available },
|
30
30
|
swaps: {},
|
31
|
-
partitions: {}
|
31
|
+
partitions: {}
|
32
|
+
}
|
32
33
|
@stats_date = Time.now - STATS_REFRESH_DELAY_S
|
33
34
|
end
|
34
35
|
|
@@ -61,16 +62,16 @@ module Intranet
|
|
61
62
|
end
|
62
63
|
|
63
64
|
def load_average
|
64
|
-
File.read(LOADAVG_FILE).split
|
65
|
+
File.read(LOADAVG_FILE).split.first(3).map(&:to_f)
|
65
66
|
end
|
66
67
|
|
67
68
|
def ram_available
|
68
69
|
# /proc/meminfo & /proc/swaps display Kib values despite indicating 'Kb'.
|
69
|
-
File.readlines(MEMINFO_FILE).grep(/^MemTotal/)[0].split
|
70
|
+
File.readlines(MEMINFO_FILE).grep(/^MemTotal/)[0].split[1].to_i * 1024
|
70
71
|
end
|
71
72
|
|
72
73
|
def ram_used
|
73
|
-
free = File.readlines(MEMINFO_FILE).grep(/^MemAvailable/)[0].split
|
74
|
+
free = File.readlines(MEMINFO_FILE).grep(/^MemAvailable/)[0].split[1].to_i * 1024
|
74
75
|
@stats[:ram][:total] - free
|
75
76
|
end
|
76
77
|
|
@@ -114,8 +114,8 @@ module Intranet
|
|
114
114
|
end
|
115
115
|
|
116
116
|
def generate_i18n_js
|
117
|
-
|
118
|
-
|
117
|
+
"window.byte_abbrev = '#{I18n.t('system.byte_abbrev')}';\n" \
|
118
|
+
"window.out_of = '#{I18n.t('system.out_of')}';\n"
|
119
119
|
end
|
120
120
|
end
|
121
121
|
end
|
@@ -89,31 +89,33 @@ RSpec.describe Intranet::System::Responder do
|
|
89
89
|
expect(code).to eql(206)
|
90
90
|
expect(mime).to eql('text/html')
|
91
91
|
expect(content).to eql(
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
92
|
+
{
|
93
|
+
content: "<section>\n<h2>#{I18n.t('system.monitor')}</h2>\n" \
|
94
|
+
"<ul class='breadcrumb'>\n" \
|
95
|
+
"<li>\n<a href='/index.html'>#{I18n.t('nav.home')}</a>\n</li>\n" \
|
96
|
+
"<li>#{I18n.t('system.monitor')}</li>\n" \
|
97
|
+
"</ul>\n\n" \
|
98
|
+
"<h3 id='cpu_model'>#{I18n.t('system.processor')} : </h3>\n" \
|
99
|
+
"<p class='meter' id='load1min'>\n<span class='desc'>1 min</span>\n<span cla" \
|
100
|
+
"ss='info'>0.00</span>\n<meter high='90' low='80' max='100' min='0' optimum=" \
|
101
|
+
"'50' title='0 %' value='0'></meter>\n</p>\n" \
|
102
|
+
"<p class='meter' id='load5min'>\n<span class='desc'>5 min</span>\n<span cla" \
|
103
|
+
"ss='info'>0.00</span>\n<meter high='90' low='80' max='100' min='0' optimum=" \
|
104
|
+
"'50' title='0 %' value='0'></meter>\n</p>\n" \
|
105
|
+
"<p class='meter' id='load15min'>\n<span class='desc'>15 min</span>\n<span c" \
|
106
|
+
"lass='info'>0.00</span>\n<meter high='90' low='80' max='100' min='0' optimu" \
|
107
|
+
"m='50' title='0 %' value='0'></meter>\n</p>\n" \
|
108
|
+
"<h3>#{I18n.t('system.memory')}</h3>\n" \
|
109
|
+
"<p class='meter' id='ram'>\n<span class='desc'>RAM</span>\n<span class='inf" \
|
110
|
+
"o'>0 M#{I18n.t('system.byte_abbrev')} #{I18n.t('system.out_of')} 0 M" \
|
111
|
+
"#{I18n.t('system.byte_abbrev')}</span>\n<meter high='90' low='80' max='100'" \
|
112
|
+
" min='0' optimum='50' title='0 %' value='0'></meter>\n</p>\n" \
|
113
|
+
"<div class='loading' id='swaps'></div>\n" \
|
114
|
+
"<h3>#{I18n.t('system.storage')}</h3>\n" \
|
115
|
+
"<div class='loading' id='storage'></div>\n" \
|
116
|
+
"</section>\n",
|
117
|
+
title: I18n.t('system.monitor')
|
118
|
+
}
|
117
119
|
)
|
118
120
|
end
|
119
121
|
end
|
@@ -133,8 +135,8 @@ RSpec.describe Intranet::System::Responder do
|
|
133
135
|
expect(code).to eql(200)
|
134
136
|
expect(mime).to eql('text/javascript')
|
135
137
|
expect(content).to eql(
|
136
|
-
"
|
137
|
-
"
|
138
|
+
"window.byte_abbrev = '#{I18n.t('system.byte_abbrev')}';\n" \
|
139
|
+
"window.out_of = '#{I18n.t('system.out_of')}';\n"
|
138
140
|
)
|
139
141
|
end
|
140
142
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -43,7 +43,11 @@ RSpec.configure do |config|
|
|
43
43
|
# Load and start SimpleCov to gather code coverage information
|
44
44
|
unless config.files_to_run.one?
|
45
45
|
require 'simplecov'
|
46
|
-
SimpleCov.
|
47
|
-
|
46
|
+
SimpleCov.start do
|
47
|
+
enable_coverage :branch # measure branches coverage
|
48
|
+
primary_coverage :branch
|
49
|
+
minimum_coverage line: 100, branch: 100 # minimal coverage rate to succeed
|
50
|
+
add_filter 'spec' # exclude 'spec' folder from coverage
|
51
|
+
end
|
48
52
|
end
|
49
53
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: intranet-system
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ebling Mis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: intranet-core
|
@@ -62,30 +62,30 @@ dependencies:
|
|
62
62
|
name: rubocop
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- - "
|
65
|
+
- - ">="
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: 0
|
67
|
+
version: '0'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- - "
|
72
|
+
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0
|
74
|
+
version: '0'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: simplecov
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- - "
|
79
|
+
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '0'
|
81
|
+
version: '0.21'
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- - "
|
86
|
+
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '0'
|
88
|
+
version: '0.21'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: yard
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,15 +136,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
136
136
|
requirements:
|
137
137
|
- - "~>"
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version: '2.
|
139
|
+
version: '2.5'
|
140
140
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
142
|
- - ">="
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0'
|
145
145
|
requirements: []
|
146
|
-
|
147
|
-
rubygems_version: 2.5.2.1
|
146
|
+
rubygems_version: 3.2.5
|
148
147
|
signing_key:
|
149
148
|
specification_version: 4
|
150
149
|
summary: System module for the intranet.
|