sys-cpu 0.7.0 → 0.7.1
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.
- data/CHANGES +6 -0
- data/MANIFEST +4 -7
- data/README +1 -6
- data/Rakefile +1 -9
- data/lib/sys/cpu.rb +12 -0
- data/lib/{linux → sys/linux}/sys/cpu.rb +2 -2
- data/lib/{unix → sys/unix}/sys/cpu.rb +1 -1
- data/lib/{windows → sys/windows}/sys/cpu.rb +10 -1
- data/sys-cpu.gemspec +7 -22
- data/test/test_sys_cpu.rb +1 -1
- data/test/test_sys_cpu_bsd.rb +1 -4
- data/test/test_sys_cpu_hpux.rb +2 -5
- data/test/test_sys_cpu_linux.rb +1 -4
- data/test/test_sys_cpu_sunos.rb +1 -3
- data/test/test_sys_cpu_version.rb +2 -5
- metadata +72 -88
data/CHANGES
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== 0.7.1 - 2-May-2013
|
2
|
+
* Added a workaround for a win32ole bug in the Windows version.
|
3
|
+
* Reorganized code so that there is now a single gem rather than three
|
4
|
+
separate platform gems.
|
5
|
+
* Updated test-unit dependency which let me simplify the test files a bit.
|
6
|
+
|
1
7
|
== 0.7.0 - 14-Dec-2011
|
2
8
|
* Code base now uses FFI. However, HP-UX is not currently supported.
|
3
9
|
HP-UX users should continue to use the 0.6.x version. Note that
|
data/MANIFEST
CHANGED
@@ -14,13 +14,10 @@
|
|
14
14
|
* examples/example_sys_cpu_linux.rb
|
15
15
|
* examples/example_sys_cpu_sunos.rb
|
16
16
|
* examples/example_sys_cpu_windows.rb
|
17
|
-
*
|
18
|
-
*
|
19
|
-
*
|
20
|
-
*
|
21
|
-
* ext/sunos/sunos.c
|
22
|
-
* lib/linux/sys/cpu.rb
|
23
|
-
* lib/windows/sys/cpu.rb
|
17
|
+
* lib/sys/cpu.rb
|
18
|
+
* lib/sys/linux/sys/cpu.rb
|
19
|
+
* lib/sys/unix/sys/cpu.rb
|
20
|
+
* lib/sys/windows/sys/cpu.rb
|
24
21
|
* test/test_sys_cpu.rb
|
25
22
|
* test/test_sys_cpu_bsd.rb
|
26
23
|
* test/test_sys_cpu_hpux.rb
|
data/README
CHANGED
@@ -4,11 +4,6 @@
|
|
4
4
|
= Installation
|
5
5
|
gem install sys-cpu
|
6
6
|
|
7
|
-
If that doesn't work try one of these:
|
8
|
-
|
9
|
-
gem install sys-cpu --platform linux # Linux
|
10
|
-
gem install sys-cpu --platform mingw32 # MS Windows
|
11
|
-
|
12
7
|
= Notes
|
13
8
|
== Solaris
|
14
9
|
Currently there is no 'processors()' iterative method for multi-cpu systems.
|
@@ -66,7 +61,7 @@
|
|
66
61
|
Artistic 2.0
|
67
62
|
|
68
63
|
= Copyright
|
69
|
-
(C) 2003-
|
64
|
+
(C) 2003-2013 Daniel J. Berger, All Rights Reserved
|
70
65
|
|
71
66
|
= Warranty
|
72
67
|
This package is provided "as is" and without any express or
|
data/Rakefile
CHANGED
@@ -2,7 +2,7 @@ require 'rake'
|
|
2
2
|
require 'rake/clean'
|
3
3
|
require 'rake/testtask'
|
4
4
|
require 'rbconfig'
|
5
|
-
include
|
5
|
+
include RbConfig
|
6
6
|
|
7
7
|
CLEAN.include('**/*.gem', '**/*.rbc', '**/*.rbx')
|
8
8
|
|
@@ -43,14 +43,6 @@ task :example => [:clean] do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
Rake::TestTask.new do |t|
|
46
|
-
if CONFIG['host_os'] =~ /mswin|win32|mingw|cygwin|dos|windows/i
|
47
|
-
t.libs << 'lib/windows'
|
48
|
-
elsif CONFIG['host_os'] =~ /linux/i
|
49
|
-
t.libs << 'lib/linux'
|
50
|
-
else
|
51
|
-
t.libs << 'lib/unix'
|
52
|
-
end
|
53
|
-
|
54
46
|
t.libs << 'test'
|
55
47
|
t.test_files = FileList['test/test_sys_cpu.rb']
|
56
48
|
end
|
data/lib/sys/cpu.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# This is just a stub file that requires the appropriate version
|
2
|
+
# depending on which platform you're on.
|
3
|
+
require 'rbconfig'
|
4
|
+
|
5
|
+
case RbConfig::CONFIG['host_os']
|
6
|
+
when /linux/i
|
7
|
+
require File.join(File.dirname(__FILE__), 'linux', 'sys', 'cpu')
|
8
|
+
when /windows|mswin|mingw|cygwin|dos/i
|
9
|
+
require File.join(File.dirname(__FILE__), 'windows', 'sys', 'cpu')
|
10
|
+
else
|
11
|
+
require File.join(File.dirname(__FILE__), 'unix', 'sys', 'cpu')
|
12
|
+
end
|
@@ -42,7 +42,7 @@ module Sys
|
|
42
42
|
class CPU
|
43
43
|
|
44
44
|
# The version of the sys-cpu library.
|
45
|
-
VERSION = '0.7.
|
45
|
+
VERSION = '0.7.1'
|
46
46
|
|
47
47
|
# :stopdoc:
|
48
48
|
|
@@ -59,7 +59,7 @@ module Sys
|
|
59
59
|
array = []
|
60
60
|
$cpu_array.each{ |hash|
|
61
61
|
struct = CPUStruct.new
|
62
|
-
struct.members.each{ |m| struct.send("#{m}=", hash[m]) }
|
62
|
+
struct.members.each{ |m| struct.send("#{m}=", hash["#{m}"]) }
|
63
63
|
if block_given?
|
64
64
|
yield struct
|
65
65
|
else
|
@@ -1,6 +1,15 @@
|
|
1
1
|
require 'win32ole'
|
2
2
|
require 'socket'
|
3
3
|
|
4
|
+
# See Ruby bugs #2618 and #7681. This is a workaround.
|
5
|
+
BEGIN{
|
6
|
+
require 'win32ole'
|
7
|
+
if RUBY_VERSION.to_f < 2.0
|
8
|
+
WIN32OLE.ole_initialize
|
9
|
+
at_exit { WIN32OLE.ole_uninitialize }
|
10
|
+
end
|
11
|
+
}
|
12
|
+
|
4
13
|
# The Sys module serves only as a namespace
|
5
14
|
module Sys
|
6
15
|
# Encapsulates system CPU information
|
@@ -9,7 +18,7 @@ module Sys
|
|
9
18
|
class Error < StandardError; end
|
10
19
|
|
11
20
|
# The version of the sys-cpu library
|
12
|
-
VERSION = '0.7.
|
21
|
+
VERSION = '0.7.1'
|
13
22
|
|
14
23
|
private
|
15
24
|
|
data/sys-cpu.gemspec
CHANGED
@@ -2,11 +2,10 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'sys-cpu'
|
5
|
-
spec.version = '0.7.
|
5
|
+
spec.version = '0.7.1'
|
6
6
|
spec.author = 'Daniel J. Berger'
|
7
7
|
spec.email = 'djberg96 at nospam at gmail dot com'
|
8
|
-
spec.homepage = '
|
9
|
-
spec.platform = Gem::Platform::RUBY
|
8
|
+
spec.homepage = 'https://github.com/djberg96/sys-cpu'
|
10
9
|
spec.summary = 'A Ruby interface for providing CPU information'
|
11
10
|
spec.test_file = 'test/test_sys_cpu.rb'
|
12
11
|
spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
|
@@ -14,30 +13,16 @@ Gem::Specification.new do |spec|
|
|
14
13
|
spec.rubyforge_project = 'sysutils'
|
15
14
|
spec.extra_rdoc_files = ['CHANGES', 'README', 'MANIFEST']
|
16
15
|
|
16
|
+
# The ffi dependency is only relevent for the Unix version. Given the
|
17
|
+
# ubiquity of ffi these days, I felt a bogus dependency on ffi for Windows
|
18
|
+
# and Linux was worth the tradeoff of having to create 3 separate gems.
|
17
19
|
spec.add_dependency('ffi', '>= 1.0.0')
|
18
|
-
|
20
|
+
|
21
|
+
spec.add_development_dependency('test-unit', '>= 2.4.0')
|
19
22
|
|
20
23
|
spec.description = <<-EOF
|
21
24
|
The sys-cpu library provides an interface for gathering information
|
22
25
|
about your system's processor(s). Information includes speed, type,
|
23
26
|
and load average.
|
24
27
|
EOF
|
25
|
-
|
26
|
-
case Config::CONFIG['host_os']
|
27
|
-
when /mswin|dos|windows|win32|mingw|cygwin/i
|
28
|
-
spec.require_paths = ['lib', 'lib/windows']
|
29
|
-
spec.extra_rdoc_files << 'lib/windows/sys/cpu.rb'
|
30
|
-
spec.platform = Gem::Platform::CURRENT
|
31
|
-
spec.platform.cpu = 'universal'
|
32
|
-
spec.platform.version = nil
|
33
|
-
spec.original_platform = spec.platform
|
34
|
-
when /linux/i
|
35
|
-
spec.require_paths = ['lib', 'lib/linux']
|
36
|
-
spec.extra_rdoc_files << 'lib/linux/sys/cpu.rb'
|
37
|
-
spec.platform = Gem::Platform.new('universal-linux')
|
38
|
-
spec.original_platform = spec.platform
|
39
|
-
else
|
40
|
-
spec.require_paths = ['lib', 'lib/unix']
|
41
|
-
spec.extra_rdoc_files << 'lib/unix/sys/cpu.rb'
|
42
|
-
end
|
43
28
|
end
|
data/test/test_sys_cpu.rb
CHANGED
data/test/test_sys_cpu_bsd.rb
CHANGED
@@ -3,12 +3,9 @@
|
|
3
3
|
#
|
4
4
|
# The test case for sys-cpu on BSD flavors, including OS X.
|
5
5
|
#############################################################
|
6
|
-
require 'rubygems'
|
7
|
-
gem 'test-unit'
|
8
|
-
|
9
6
|
require 'sys/cpu'
|
10
7
|
require 'rbconfig'
|
11
|
-
require 'test
|
8
|
+
require 'test-unit'
|
12
9
|
require 'test_sys_cpu_version'
|
13
10
|
include Sys
|
14
11
|
|
data/test/test_sys_cpu_hpux.rb
CHANGED
@@ -4,11 +4,8 @@
|
|
4
4
|
# Test suite for the HP-UX platform. This should be run via the
|
5
5
|
# 'rake test' task.
|
6
6
|
#####################################################################
|
7
|
-
require 'rubygems'
|
8
|
-
gem 'test-unit'
|
9
|
-
|
10
7
|
require 'sys/cpu'
|
11
|
-
require 'test
|
8
|
+
require 'test-unit'
|
12
9
|
require 'test_sys_cpu_version'
|
13
10
|
include Sys
|
14
11
|
|
@@ -46,7 +43,7 @@ class TC_Sys_CPU_HPUX < Test::Unit::TestCase
|
|
46
43
|
assert_raises(ArgumentError){ CPU.load_avg(0){ } }
|
47
44
|
assert_kind_of(Array, CPU.load_avg, 'Invalid Type')
|
48
45
|
assert_kind_of(Array, CPU.load_avg(0), 'Invalid Type')
|
49
|
-
assert_equal(3, CPU.load_avg.length, 'Bad number of elements')
|
46
|
+
assert_equal(3, CPU.load_avg.length, 'Bad number of elements')
|
50
47
|
assert_equal(3, CPU.load_avg(0).length, 'Bad number of elements')
|
51
48
|
end
|
52
49
|
end
|
data/test/test_sys_cpu_linux.rb
CHANGED
@@ -4,11 +4,8 @@
|
|
4
4
|
# Test Suite for sys-cpu for Linux. This should be run via
|
5
5
|
# the 'rake test' task.
|
6
6
|
###########################################################
|
7
|
-
require 'rubygems'
|
8
|
-
gem 'test-unit'
|
9
|
-
|
10
7
|
require 'sys/cpu'
|
11
|
-
require 'test
|
8
|
+
require 'test-unit'
|
12
9
|
require 'test_sys_cpu_version'
|
13
10
|
include Sys
|
14
11
|
|
data/test/test_sys_cpu_sunos.rb
CHANGED
@@ -4,10 +4,8 @@
|
|
4
4
|
# Test suite for sys-cpu on Solaris. This should be run
|
5
5
|
# via the 'rake test' task.
|
6
6
|
###########################################################
|
7
|
-
require 'rubygems'
|
8
|
-
gem 'test-unit'
|
9
7
|
require 'sys/cpu'
|
10
|
-
require 'test
|
8
|
+
require 'test-unit'
|
11
9
|
include Sys
|
12
10
|
|
13
11
|
class TC_Sys_CPU_SunOS < Test::Unit::TestCase
|
@@ -5,14 +5,11 @@
|
|
5
5
|
# This reduces the pain of having separate tests for the VERSION
|
6
6
|
# constant in every single test case.
|
7
7
|
#######################################################################
|
8
|
-
require 'rubygems'
|
9
|
-
gem 'test-unit'
|
10
|
-
|
11
8
|
require 'sys/cpu'
|
12
|
-
require 'test
|
9
|
+
require 'test-unit'
|
13
10
|
|
14
11
|
class TC_Sys_CPU_VERSION < Test::Unit::TestCase
|
15
12
|
test "version number is set to the expected value" do
|
16
|
-
assert_equal('0.7.
|
13
|
+
assert_equal('0.7.1', Sys::CPU::VERSION)
|
17
14
|
end
|
18
15
|
end
|
metadata
CHANGED
@@ -1,125 +1,109 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sys-cpu
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.7.1
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 7
|
9
|
-
- 0
|
10
|
-
version: 0.7.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Daniel J. Berger
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-05-07 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: ffi
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 23
|
29
|
-
segments:
|
30
|
-
- 1
|
31
|
-
- 0
|
32
|
-
- 0
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
33
21
|
version: 1.0.0
|
34
22
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: test-unit
|
38
23
|
prerelease: false
|
39
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.0.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: test-unit
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
40
33
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
segments:
|
46
|
-
- 2
|
47
|
-
- 1
|
48
|
-
- 2
|
49
|
-
version: 2.1.2
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 2.4.0
|
50
38
|
type: :development
|
51
|
-
|
52
|
-
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 2.4.0
|
46
|
+
description: ! " The sys-cpu library provides an interface for gathering information\n
|
47
|
+
\ about your system's processor(s). Information includes speed, type,\n and
|
48
|
+
load average.\n"
|
53
49
|
email: djberg96 at nospam at gmail dot com
|
54
50
|
executables: []
|
55
|
-
|
56
51
|
extensions: []
|
57
|
-
|
58
|
-
extra_rdoc_files:
|
52
|
+
extra_rdoc_files:
|
59
53
|
- CHANGES
|
60
54
|
- README
|
61
55
|
- MANIFEST
|
62
|
-
|
63
|
-
|
64
|
-
-
|
56
|
+
files:
|
57
|
+
- doc/windows.txt
|
58
|
+
- doc/sunos.txt
|
65
59
|
- doc/bsd.txt
|
66
60
|
- doc/hpux.txt
|
67
61
|
- doc/linux.txt
|
68
|
-
- doc/sunos.txt
|
69
|
-
- doc/windows.txt
|
70
|
-
- examples/example_sys_cpu_bsd.rb
|
71
|
-
- examples/example_sys_cpu_hpux.rb
|
72
|
-
- examples/example_sys_cpu_linux.rb
|
73
|
-
- examples/example_sys_cpu_sunos.rb
|
74
|
-
- examples/example_sys_cpu_windows.rb
|
75
|
-
- install.rb
|
76
|
-
- lib/linux/sys/cpu.rb
|
77
|
-
- lib/unix/sys/cpu.rb
|
78
|
-
- lib/windows/sys/cpu.rb
|
79
|
-
- MANIFEST
|
80
|
-
- Rakefile
|
81
|
-
- README
|
82
|
-
- sys-cpu.gemspec
|
83
|
-
- test/test_sys_cpu.rb
|
84
|
-
- test/test_sys_cpu_bsd.rb
|
85
|
-
- test/test_sys_cpu_hpux.rb
|
86
|
-
- test/test_sys_cpu_linux.rb
|
87
|
-
- test/test_sys_cpu_sunos.rb
|
88
62
|
- test/test_sys_cpu_version.rb
|
63
|
+
- test/test_sys_cpu_linux.rb
|
89
64
|
- test/test_sys_cpu_windows.rb
|
90
|
-
|
65
|
+
- test/test_sys_cpu_bsd.rb
|
66
|
+
- test/test_sys_cpu.rb
|
67
|
+
- test/test_sys_cpu_sunos.rb
|
68
|
+
- test/test_sys_cpu_hpux.rb
|
69
|
+
- Rakefile
|
70
|
+
- MANIFEST
|
71
|
+
- CHANGES
|
72
|
+
- sys-cpu.gemspec
|
73
|
+
- lib/sys/cpu.rb
|
74
|
+
- lib/sys/unix/sys/cpu.rb
|
75
|
+
- lib/sys/linux/sys/cpu.rb
|
76
|
+
- lib/sys/windows/sys/cpu.rb
|
77
|
+
- install.rb
|
78
|
+
- README
|
79
|
+
- examples/example_sys_cpu_windows.rb
|
80
|
+
- examples/example_sys_cpu_hpux.rb
|
81
|
+
- examples/example_sys_cpu_sunos.rb
|
82
|
+
- examples/example_sys_cpu_linux.rb
|
83
|
+
- examples/example_sys_cpu_bsd.rb
|
84
|
+
homepage: https://github.com/djberg96/sys-cpu
|
91
85
|
licenses: []
|
92
|
-
|
93
86
|
post_install_message:
|
94
87
|
rdoc_options: []
|
95
|
-
|
96
|
-
require_paths:
|
88
|
+
require_paths:
|
97
89
|
- lib
|
98
|
-
|
99
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
91
|
none: false
|
101
|
-
requirements:
|
102
|
-
- -
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
|
105
|
-
|
106
|
-
- 0
|
107
|
-
version: "0"
|
108
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
97
|
none: false
|
110
|
-
requirements:
|
111
|
-
- -
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
|
114
|
-
segments:
|
115
|
-
- 0
|
116
|
-
version: "0"
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
117
102
|
requirements: []
|
118
|
-
|
119
103
|
rubyforge_project: sysutils
|
120
|
-
rubygems_version: 1.8.
|
104
|
+
rubygems_version: 1.8.23
|
121
105
|
signing_key:
|
122
106
|
specification_version: 3
|
123
107
|
summary: A Ruby interface for providing CPU information
|
124
|
-
test_files:
|
108
|
+
test_files:
|
125
109
|
- test/test_sys_cpu.rb
|