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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3d4d7f6e26e171a12ece83efe7be3a993a52d726
4
- data.tar.gz: 3e8a424dd4e72f670443dbeb707c7200845bf1e3
2
+ SHA256:
3
+ metadata.gz: 6f417bc8df3fe0478fc4b8adadc1f26028f3f870cd851043f2562077f2328d42
4
+ data.tar.gz: f2d5f9db01f81c2db63437a0f99340aba8cc162af98480fbff38d38f1f9f1441
5
5
  SHA512:
6
- metadata.gz: 933eeeb020b40518af27883e09c79828b095b68b3e9f8c3f643bf9b462aeed3069c8b32b2a58c65baecd3a7cf627baed50131fd20d75c119726a0e988d2fcd49
7
- data.tar.gz: 5dba5bd6d1a2e746de3c5f24a33c3b10805f3076e92dbdc366a83dca2b4d8617feddbe4632578602b25d291b9fa8836165d4a2819eede89eb36c3b9a33ae9435
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;
@@ -7,7 +7,6 @@
7
7
 
8
8
  p.meter {
9
9
  margin: 0px 50px 2em; /* top sides bottom */
10
- font-size: 110%;
11
10
  }
12
11
  p.meter span {
13
12
  display: inline-block;
@@ -22,13 +22,14 @@ module Intranet
22
22
 
23
23
  # Initializes a new Linux statistics provider.
24
24
  def initialize
25
- @stats = Hash[
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(' ').first(3).map(&:to_f)
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(' ')[1].to_i * 1024
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(' ')[1].to_i * 1024
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
- 'var byte_abbrev = \'' + I18n.t('system.byte_abbrev') + '\';' + "\n" \
118
- 'var out_of = \'' + I18n.t('system.out_of') + '\';' + "\n"
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
@@ -8,7 +8,7 @@ module Intranet
8
8
  NAME = 'intranet-system'
9
9
 
10
10
  # The version of the gem, according to semantic versionning.
11
- VERSION = '1.0.0'
11
+ VERSION = '1.1.2'
12
12
 
13
13
  # The URL of the gem homepage.
14
14
  HOMEPAGE_URL = 'https://rubygems.org/gems/intranet-system'
@@ -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
- Hash[content: "<section>\n<h2>#{I18n.t('system.monitor')}</h2>\n" \
93
- "<ul class='breadcrumb'>\n" \
94
- "<li>\n<a href='/index.html'>#{I18n.t('nav.home')}</a>\n</li>\n" \
95
- "<li>#{I18n.t('system.monitor')}</li>\n" \
96
- "</ul>\n\n" \
97
- "<h3 id='cpu_model'>#{I18n.t('system.processor')} : </h3>\n" \
98
- "<p class='meter' id='load1min'>\n<span class='desc'>1 min</span>\n<span " \
99
- "class='info'>0.00</span>\n<meter high='90' low='80' max='100' min='0' op" \
100
- "timum='50' title='0 %' value='0'></meter>\n</p>\n" \
101
- "<p class='meter' id='load5min'>\n<span class='desc'>5 min</span>\n<span " \
102
- "class='info'>0.00</span>\n<meter high='90' low='80' max='100' min='0' op" \
103
- "timum='50' title='0 %' value='0'></meter>\n</p>\n" \
104
- "<p class='meter' id='load15min'>\n<span class='desc'>15 min</span>\n<spa" \
105
- "n class='info'>0.00</span>\n<meter high='90' low='80' max='100' min='0' " \
106
- "optimum='50' title='0 %' value='0'></meter>\n</p>\n" \
107
- "<h3>#{I18n.t('system.memory')}</h3>\n" \
108
- "<p class='meter' id='ram'>\n<span class='desc'>RAM</span>\n<span class='" \
109
- "info'>0 M#{I18n.t('system.byte_abbrev')} #{I18n.t('system.out_of')} 0 M" \
110
- "#{I18n.t('system.byte_abbrev')}</span>\n<meter high='90' low='80' max='1" \
111
- "00' min='0' optimum='50' title='0 %' value='0'></meter>\n</p>\n" \
112
- "<div class='loading' id='swaps'></div>\n" \
113
- "<h3>#{I18n.t('system.storage')}</h3>\n" \
114
- "<div class='loading' id='storage'></div>\n" \
115
- "</section>\n",
116
- title: I18n.t('system.monitor')]
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
- "var byte_abbrev = '#{I18n.t('system.byte_abbrev')}';\n" \
137
- "var out_of = '#{I18n.t('system.out_of')}';\n"
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.add_filter 'spec' # exclude 'spec' folder from coverage
47
- SimpleCov.start
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.0.0
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: 2019-02-18 00:00:00.000000000 Z
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.63.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.63.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.3'
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
- rubyforge_project:
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.