sys-uptime 0.7.6-universal-mingw32 → 0.8.0-universal-mingw32
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGES.md +3 -0
- data/README.md +6 -3
- data/lib/sys/unix/sys/uptime.rb +18 -3
- data/lib/sys/uptime.rb +1 -1
- data/spec/sys_uptime_spec.rb +1 -1
- data/sys-uptime.gemspec +3 -2
- data.tar.gz.sig +0 -0
- metadata +4 -6
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3761fa13b2099bd51df8a9a22df86e50cc2305ed08a4fca545ef3c3110c9754b
|
4
|
+
data.tar.gz: f98b626af7fd8d6add60ba4ccf819ad9e849981025341486d44c399e4abf1b0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31108c76cdc01e9589b4a2dc215b39773beb39ac5e3e253c229ea66f162d14ae9daddf5f4fc8297c8196c8a489c49cbb19260133c1123f843441eb123608f43d
|
7
|
+
data.tar.gz: 6e3105965409ef9fb9f54648cd534008738ca551a58de65bc4293ba25211f9f5a4c8c9a72acf55c12ec46f78d83a2ee32163e56fee3e5bc7aa46d790ca179dbf
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGES.md
CHANGED
data/README.md
CHANGED
@@ -10,6 +10,9 @@ ffi 0.1.0 or later on Unixy platforms.
|
|
10
10
|
|
11
11
|
`gem install sys-uptime`
|
12
12
|
|
13
|
+
## Adding the trusted cert
|
14
|
+
`gem cert --add <(curl -Ls https://raw.githubusercontent.com/djberg96/sys-uptime/main/certs/djberg96_pub.pem)`
|
15
|
+
|
13
16
|
## Synopsis
|
14
17
|
```ruby
|
15
18
|
require 'sys-uptime'
|
@@ -30,12 +33,12 @@ p Uptime.boot_time
|
|
30
33
|
```
|
31
34
|
|
32
35
|
## Notes
|
33
|
-
On MS Windows the
|
36
|
+
On MS Windows the `Uptime.uptime` and `Uptime.boot_time` methods optionally
|
34
37
|
takes a host name as a single argument. The default is localhost.
|
35
38
|
|
36
39
|
The current time, users and load average are not included in this library
|
37
40
|
module, even though you may be used to seeing them with the command
|
38
|
-
line version of
|
41
|
+
line version of `uptime`.
|
39
42
|
|
40
43
|
## Known Bugs
|
41
44
|
None that I am aware of. Please log any bugs you find on the project
|
@@ -48,7 +51,7 @@ website at https://github.com/djberg96/sys-uptime.
|
|
48
51
|
Apache-2.0
|
49
52
|
|
50
53
|
## Copyright
|
51
|
-
Copyright 2002-
|
54
|
+
Copyright 2002-2025, Daniel J. Berger
|
52
55
|
|
53
56
|
All Rights Reserved. This module is free software. It may be used,
|
54
57
|
redistributed and/or modified under the same terms as Ruby itself.
|
data/lib/sys/unix/sys/uptime.rb
CHANGED
@@ -39,14 +39,15 @@ module Sys
|
|
39
39
|
|
40
40
|
CTL_KERN = 1 # Kernel
|
41
41
|
KERN_BOOTTIME = 21 # Time kernel was booted
|
42
|
-
TICKS = 100 # Ticks per second (TODO: use sysconf)
|
43
42
|
BOOT_TIME = 2 # Boot time
|
43
|
+
SC_CLK_TCK = 2 # Sysconf parameter for clock ticks per second
|
44
44
|
|
45
45
|
private_constant :CTL_KERN
|
46
46
|
private_constant :KERN_BOOTTIME
|
47
|
-
private_constant :TICKS
|
48
47
|
private_constant :BOOT_TIME
|
48
|
+
private_constant :SC_CLK_TCK
|
49
49
|
|
50
|
+
# Private wrapper class for struct tms
|
50
51
|
class Tms < FFI::Struct
|
51
52
|
layout(
|
52
53
|
:tms_utime, :clock_t,
|
@@ -58,6 +59,7 @@ module Sys
|
|
58
59
|
|
59
60
|
private_constant :Tms
|
60
61
|
|
62
|
+
# Private wrapper class for struct timeval
|
61
63
|
class Timeval < FFI::Struct
|
62
64
|
layout(
|
63
65
|
:tv_sec, :long,
|
@@ -67,6 +69,7 @@ module Sys
|
|
67
69
|
|
68
70
|
private_constant :Timeval
|
69
71
|
|
72
|
+
# Private wrapper class for struct exit_status
|
70
73
|
class ExitStatus < FFI::Struct
|
71
74
|
layout(
|
72
75
|
:e_termination, :short,
|
@@ -76,6 +79,7 @@ module Sys
|
|
76
79
|
|
77
80
|
private_constant :ExitStatus
|
78
81
|
|
82
|
+
# Private wrapper class for struct utmpx
|
79
83
|
class Utmpx < FFI::Struct
|
80
84
|
layout(
|
81
85
|
:ut_user, [:char, 32],
|
@@ -93,6 +97,17 @@ module Sys
|
|
93
97
|
|
94
98
|
private_constant :Utmpx
|
95
99
|
|
100
|
+
# Get ticks per second using sysconf, fallback to 100 if not available
|
101
|
+
def self.ticks_per_second
|
102
|
+
@ticks_per_second ||= begin
|
103
|
+
sysconf(SC_CLK_TCK)
|
104
|
+
rescue
|
105
|
+
100
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
private_class_method :ticks_per_second
|
110
|
+
|
96
111
|
# Returns a Time object indicating the time the system was last booted.
|
97
112
|
#
|
98
113
|
# Example:
|
@@ -155,7 +170,7 @@ module Sys
|
|
155
170
|
time(nil) - tv[:tv_sec]
|
156
171
|
else
|
157
172
|
tms = Tms.new
|
158
|
-
times(tms) /
|
173
|
+
times(tms) / ticks_per_second
|
159
174
|
end
|
160
175
|
end
|
161
176
|
|
data/lib/sys/uptime.rb
CHANGED
data/spec/sys_uptime_spec.rb
CHANGED
@@ -14,7 +14,7 @@ RSpec.describe Sys::Uptime do
|
|
14
14
|
let(:plausible_seconds) { ENV['CI'] ? 30 : 120 }
|
15
15
|
|
16
16
|
example 'version is set to expected value' do
|
17
|
-
expect(Sys::Uptime::VERSION).to eql('0.
|
17
|
+
expect(Sys::Uptime::VERSION).to eql('0.8.0')
|
18
18
|
expect(Sys::Uptime::VERSION.frozen?).to be(true)
|
19
19
|
end
|
20
20
|
|
data/sys-uptime.gemspec
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'sys-uptime'
|
5
|
-
spec.version = '0.
|
5
|
+
spec.version = '0.8.0'
|
6
6
|
spec.author = 'Daniel J. Berger'
|
7
7
|
spec.license = 'Apache-2.0'
|
8
8
|
spec.email = 'djberg96@gmail.com'
|
@@ -31,7 +31,8 @@ Gem::Specification.new do |spec|
|
|
31
31
|
'source_code_uri' => 'https://github.com/djberg96/sys-uptime',
|
32
32
|
'wiki_uri' => 'https://github.com/djberg96/sys-uptime/wiki',
|
33
33
|
'rubygems_mfa_required' => 'true',
|
34
|
-
'github_repo' => 'https://github.com/djberg96/sys-uptime'
|
34
|
+
'github_repo' => 'https://github.com/djberg96/sys-uptime',
|
35
|
+
'funding_uri' => 'https://github.com/sponsors/djberg96'
|
35
36
|
}
|
36
37
|
|
37
38
|
spec.description = <<-EOF
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sys-uptime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: universal-mingw32
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain:
|
11
10
|
- |
|
@@ -35,7 +34,7 @@ cert_chain:
|
|
35
34
|
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
35
|
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
36
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
37
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
39
38
|
dependencies:
|
40
39
|
- !ruby/object:Gem::Dependency
|
41
40
|
name: rake
|
@@ -128,7 +127,7 @@ metadata:
|
|
128
127
|
wiki_uri: https://github.com/djberg96/sys-uptime/wiki
|
129
128
|
rubygems_mfa_required: 'true'
|
130
129
|
github_repo: https://github.com/djberg96/sys-uptime
|
131
|
-
|
130
|
+
funding_uri: https://github.com/sponsors/djberg96
|
132
131
|
rdoc_options: []
|
133
132
|
require_paths:
|
134
133
|
- lib
|
@@ -143,8 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
142
|
- !ruby/object:Gem::Version
|
144
143
|
version: '0'
|
145
144
|
requirements: []
|
146
|
-
rubygems_version: 3.
|
147
|
-
signing_key:
|
145
|
+
rubygems_version: 3.6.9
|
148
146
|
specification_version: 4
|
149
147
|
summary: A Ruby interface for getting system uptime information.
|
150
148
|
test_files:
|
metadata.gz.sig
CHANGED
Binary file
|