sys-uptime 0.5.3 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,8 @@
1
+ == 0.5.4 - 26-Jul-2011
2
+ * Refactored and updated Rakefile and gemspec.
3
+ * Some internal file reorganization and renaming.
4
+ * License changed to Artistic 2.0.
5
+
1
6
  == 0.5.3 - 7-May-2009
2
7
  * Altered the Uptime.seconds implementation on Linux so that it works with
3
8
  both Ruby 1.8.x and 1.9.x. Thanks go to Alexey Chebotar for the spot.
data/MANIFEST CHANGED
@@ -2,12 +2,11 @@
2
2
  * MANIFEST
3
3
  * Rakefile
4
4
  * README
5
- * install.rb
6
5
  * sys-uptime.gemspec
7
6
  * doc/uptime.txt
8
- * examples/test.rb
7
+ * examples/sys_uptime_example.rb
9
8
  * ext/extconf.rb
10
9
  * ext/sys/uptime.c
11
- * lib/sys/linux.rb
12
- * lib/sys/windows.rb
13
- * test/test_sys_uptime.rb
10
+ * lib/linux/sys/uptime.rb
11
+ * lib/windows/sys/uptime.rb
12
+ * test/test_sys_uptime.rb
data/Rakefile ADDED
@@ -0,0 +1,87 @@
1
+ require 'rake'
2
+ require 'rake/clean'
3
+ require 'rake/testtask'
4
+ require 'rbconfig'
5
+ include Config
6
+
7
+ CLEAN.include(
8
+ '**/*.gem', # Gem files
9
+ '**/*.rbc', # Rubinius
10
+ '**/*.o', # C object file
11
+ '**/*.log', # Ruby extension build log
12
+ '**/Makefile', # C Makefile
13
+ '**/conftest.dSYM', # OS X build directory
14
+ "**/*.#{CONFIG['DLEXT']}", # C shared object
15
+ 'lib/sys/uptime.rb' # Renamed source file
16
+ )
17
+
18
+ desc "Build the sys-uptime library on UNIX systems"
19
+ task :build => [:clean] do
20
+ Dir.chdir('ext') do
21
+ unless Config::CONFIG['host_os'] =~ /windows|mswin|win32|mingw|cygwin|dos|linux/i
22
+ ruby 'extconf.rb'
23
+ sh 'make'
24
+ cp "uptime." + CONFIG['DLEXT'], "sys"
25
+ end
26
+ end
27
+ end
28
+
29
+ namespace :gem do
30
+ desc "Create the gem for the sys-uptime library"
31
+ task :create => [:clean] do
32
+ spec = eval(IO.read('sys-uptime.gemspec'))
33
+
34
+ case Config::CONFIG['host_os']
35
+ when /windows|win32|cygwin|mingw|dos|mswin/
36
+ spec.platform = Gem::Platform::CURRENT
37
+ spec.platform.cpu = 'universal'
38
+ spec.require_paths = ['lib', 'lib/windows']
39
+ when /linux/
40
+ spec.platform = Gem::Platform.new('universal-linux')
41
+ spec.require_paths = ['lib', 'lib/linux']
42
+ else
43
+ spec.platform = Gem::Platform::RUBY
44
+ spec.extensions = ['ext/extconf.rb']
45
+ spec.extra_rdoc_files << 'ext/sys/uptime.c'
46
+ end
47
+
48
+ Gem::Builder.new(spec).build
49
+ end
50
+
51
+ desc "Install the sys-uptime library"
52
+ task :install => [:create] do
53
+ gem_name = Dir['*.gem'].first
54
+ sh "gem install #{gem_name}"
55
+ end
56
+ end
57
+
58
+ task :example => [:build] do
59
+ case Config::CONFIG['host_os']
60
+ when /windows|win32|cygwin|mingw|dos|mswin/
61
+ path = 'lib/windows'
62
+ when /linux/
63
+ path = 'lib/linux'
64
+ else
65
+ path = 'ext'
66
+ end
67
+ sh "ruby -I#{path} examples/sys_uptime_example.rb"
68
+ end
69
+
70
+ desc "Run the test suite"
71
+ Rake::TestTask.new("test") do |t|
72
+ task :test => :build
73
+ t.libs << 'test' << '.'
74
+ t.warning = true
75
+ t.verbose = true
76
+
77
+ case Config::CONFIG['host_os']
78
+ when /windows|win32|cygwin|mingw|dos|mswin/
79
+ t.libs << 'lib/windows'
80
+ when /linux/
81
+ t.libs << 'lib/linux'
82
+ else
83
+ t.libs << 'ext'
84
+ end
85
+ end
86
+
87
+ task :default => :test
data/doc/uptime.txt CHANGED
@@ -1,99 +1,98 @@
1
- == Synopsis
2
- require 'sys/uptime'
3
- include Sys
1
+ == Description
2
+ The sys-uptime library provides uptime and boot time information, similar
3
+ to the 'uptime' Unix command.
4
4
 
5
- p Uptime.days
6
- p Uptime.hours
7
- p Uptime.minutes
8
- p Uptime.seconds
9
- p Uptime.dhms.join(', ')
10
- p Uptime.uptime
11
- p Uptime.boot_time
5
+ == Synopsis
6
+ require 'sys/uptime'
7
+ include Sys
12
8
 
13
- == Description
14
- This package provides uptime and boot time information, similar to the
15
- 'uptime' Unix command.
9
+ p Uptime.days
10
+ p Uptime.hours
11
+ p Uptime.minutes
12
+ p Uptime.seconds
13
+ p Uptime.dhms.join(', ')
14
+ p Uptime.uptime
15
+ p Uptime.boot_time
16
16
 
17
17
  == Constants
18
18
  VERSION
19
- Returns the current version number of this package (as a string).
19
+ Returns the current version number of this library.
20
20
 
21
21
  == Class Methods
22
22
  Uptime.boot_time
23
- Returns the boot time as a Time object.
23
+ Returns the boot time as a Time object.
24
24
 
25
25
  Uptime.days
26
- Returns the total number of days the system has been up.
26
+ Returns the total number of days the system has been up.
27
27
 
28
28
  Uptime.hours
29
- Returns the total number of hours the system has been up.
29
+ Returns the total number of hours the system has been up.
30
30
 
31
31
  Uptime.minutes
32
- Returns the total number of minutes the system has been up.
32
+ Returns the total number of minutes the system has been up.
33
33
 
34
34
  Uptime.seconds
35
- Returns the total number of seconds the system has been up.
35
+ Returns the total number of seconds the system has been up.
36
36
 
37
37
  Uptime.dhms
38
- Calculates and returns the number of days, hours, minutes and
39
- seconds the system has been running as a four-element Array.
38
+ Calculates and returns the number of days, hours, minutes and
39
+ seconds the system has been running as a four-element Array.
40
40
 
41
41
  Uptime.uptime
42
- Calculates and returns the number of days, hours, minutes and
43
- seconds the system has been running as a colon-separated string.
42
+ Calculates and returns the number of days, hours, minutes and
43
+ seconds the system has been running as a colon-separated string.
44
44
 
45
45
  == Exceptions
46
46
  Uptime::Error
47
- Raised if something goes wrong. On Unix, this would likely mean a
48
- failure of the times() function. That would be highly unusual.
47
+ Raised if something goes wrong. On Unix, this would likely mean a
48
+ failure of the times() function. That would be highly unusual.
49
49
 
50
- On Windows, it probably means you failed to connect to WMI properly. The
51
- mostly likely reason would be that the WMI service wasn't running.
50
+ On Windows, it probably means you failed to connect to WMI properly. The
51
+ mostly likely reason would be that the WMI service wasn't running.
52
52
 
53
53
  == Notes
54
- On MS Windows each of the class methods optionally takes a host name as
55
- a single argument. The default is localhost (or whatever the result of
56
- Socket.gethostname returns).
54
+ On MS Windows each of the class methods optionally takes a host name as
55
+ a single argument. The default is localhost (or whatever the result of
56
+ Socket.gethostname returns).
57
57
 
58
- The current time, users and load average are NOT included in this
59
- module, even though you may be used to seeing them with the command
60
- line version of 'uptime'. This is because these things have
61
- _absolutely nothing_ to do with uptime (at least, not as I
62
- logically think of uptime).
58
+ The current time, users and load average are NOT included in this
59
+ module, even though you may be used to seeing them with the command
60
+ line version of 'uptime'. This is because these things have
61
+ absolutely nothing to do with uptime. At least, not as I logically
62
+ think of uptime.
63
63
 
64
- This package was tested successfully on a Solaris system with over 1600
65
- days of uptime.
64
+ This library was tested successfully on a Solaris system with over 1600
65
+ days of uptime.
66
66
 
67
67
  == Known Bugs
68
- None that I am aware of. Please log any bugs you find on the project
69
- website at http://www.rubyforge.org/projects/sysutils.
68
+ None that I am aware of. Please log any bugs you find on the project
69
+ website at http://www.rubyforge.org/projects/sysutils.
70
70
 
71
71
  == Questions
72
- "Doesn't Struct::Tms do this?" - No.
72
+ "Doesn't Struct::Tms do this?" - No.
73
73
 
74
74
  == License
75
- Ruby's
75
+ Artistic 2.0
76
76
 
77
77
  == Copyright
78
- Copyright 2002-2009, Daniel J. Berger
78
+ Copyright 2002-2011, Daniel J. Berger
79
79
 
80
- All Rights Reserved. This module is free software. It may be used,
81
- redistributed and/or modified under the same terms as Ruby itself.
80
+ All Rights Reserved. This module is free software. It may be used,
81
+ redistributed and/or modified under the same terms as Ruby itself.
82
82
 
83
83
  == Warranty
84
- This library is provided "as is" and without any express or
85
- implied warranties, including, without limitation, the implied
86
- warranties of merchantability and fitness for a particular purpose.
84
+ This library is provided "as is" and without any express or
85
+ implied warranties, including, without limitation, the implied
86
+ warranties of merchantability and fitness for a particular purpose.
87
87
 
88
88
  == Acknowledgements
89
- Mike Hall for help with the BSD side of things.
90
- Ola Eriksson, whose source code I shamelessly plagiarized to get a better
91
- implementation for systems that have the utmpx.h header file.
89
+ Mike Hall for help with the BSD side of things.
90
+ Ola Eriksson, whose source code I shamelessly plagiarized to get a better
91
+ implementation for systems that have the utmpx.h header file.
92
92
 
93
- == Author
94
- Daniel J. Berger
95
- djberg96 at nospam at gmail dot com
96
- imperator on IRC (Freenode)
93
+ == Authors
94
+ Daniel J. Berger
95
+ Mike Hall
97
96
 
98
97
  == See Also
99
- uptime
98
+ uptime(1)
@@ -0,0 +1,21 @@
1
+ ###########################################################
2
+ # sys_uptime_example.rb
3
+ #
4
+ # A generic test script for general futzing. You can run
5
+ # this script via the 'rake example' task.
6
+ ###########################################################
7
+ require 'sys/uptime'
8
+ include Sys
9
+
10
+ print "\nGENERIC TEST SCRIPT FOR SYS-UPTIME\n\n"
11
+ puts 'VERSION: ' + Uptime::VERSION
12
+
13
+ puts "Days: " + Uptime.days.to_s
14
+ puts "Hours: " + Uptime.hours.to_s
15
+ puts "Minutes: " + Uptime.minutes.to_s
16
+ puts "Seconds: " + Uptime.seconds.to_s
17
+ puts "Uptime: " + Uptime.uptime
18
+ puts "DHMS: " + Uptime.dhms.join(', ')
19
+ puts "Boot Time: " + Uptime.boot_time.to_s
20
+
21
+ print "\nTest successful\n"
data/ext/extconf.rb CHANGED
@@ -9,8 +9,8 @@ require 'mkmf'
9
9
  require 'fileutils'
10
10
 
11
11
  if RUBY_PLATFORM =~ /windows|win32|cygwin|mingw|dos|linux/i
12
- STDERR.puts 'Run the "install.rb" script instead on this platform'
13
- exit
12
+ STDERR.puts "Do not compile on this platform. Run 'rake gem:install' instead."
13
+ exit
14
14
  end
15
15
 
16
16
  dir_config('uptime')
@@ -18,11 +18,11 @@ dir_config('uptime')
18
18
  have_header('sys/loadavg.h')
19
19
 
20
20
  if have_func('sysctl')
21
- have_header('sys/param.h')
22
- have_header('sys/time.h')
23
- have_header('sys/types.h')
21
+ have_header('sys/param.h')
22
+ have_header('sys/time.h')
23
+ have_header('sys/types.h')
24
24
  else
25
- have_header('utmpx.h')
25
+ have_header('utmpx.h')
26
26
  end
27
27
 
28
28
  create_makefile('sys/uptime', 'sys')
data/ext/sys/uptime.c CHANGED
@@ -51,7 +51,7 @@
51
51
 
52
52
  #define MAXSTRINGSIZE 32 /* reasonable limit */
53
53
 
54
- #define SYS_UPTIME_VERSION "0.5.3"
54
+ #define SYS_UPTIME_VERSION "0.5.4"
55
55
 
56
56
  VALUE cUptimeError;
57
57
 
@@ -235,7 +235,7 @@ void Init_uptime()
235
235
  /* The Uptime::Error class is raised if any of the Uptime methods fail */
236
236
  cUptimeError = rb_define_class_under(cUptime, "Error", rb_eStandardError);
237
237
 
238
- /* 0.5.3: The version of this library */
238
+ /* 0.5.4: The version of this library */
239
239
  rb_define_const(cUptime, "VERSION", rb_str_new2(SYS_UPTIME_VERSION));
240
240
 
241
241
  /* Singleton Methods */
@@ -0,0 +1,101 @@
1
+ # The Sys module serves as a namespace only.
2
+ module Sys
3
+
4
+ # The Uptime class encapsulates various bits of information regarding your
5
+ # system's uptime, including boot time.
6
+ class Uptime
7
+
8
+ # Error typically raised in one of the Uptime methods should fail.
9
+ class Error < StandardError; end
10
+
11
+ # The version of the sys-uptime library.
12
+ VERSION = '0.5.4'
13
+
14
+ # The file to read uptime information from.
15
+ UPTIME_FILE = '/proc/uptime'
16
+
17
+ # Returns the total number of seconds of uptime.
18
+ #
19
+ # Example:
20
+ #
21
+ # Sys::Uptime.seconds # => 118800
22
+ #
23
+ def self.seconds
24
+ begin
25
+ IO.read(UPTIME_FILE).split.first.to_i
26
+ rescue Exception => err
27
+ raise Error, err
28
+ end
29
+ end
30
+
31
+ # Returns the total number of minutes of uptime.
32
+ #
33
+ # Example:
34
+ #
35
+ # Sys::Uptime.minutes # => 678
36
+ #
37
+ def self.minutes
38
+ self.seconds / 60
39
+ end
40
+
41
+ # Returns the total number of hours of uptime.
42
+ #
43
+ # Example:
44
+ #
45
+ # Sys::Uptime.hours # => 31
46
+ #
47
+ def self.hours
48
+ self.minutes / 60
49
+ end
50
+
51
+ # Returns the total number of days of uptime.
52
+ #
53
+ # Example:
54
+ #
55
+ # Sys::Uptime.days # => 2
56
+ #
57
+ def self.days
58
+ self.hours / 24
59
+ end
60
+
61
+ # Returns the uptime as a colon separated string, including days,
62
+ # hours, minutes and seconds.
63
+ #
64
+ # Example:
65
+ #
66
+ # Sys::Uptime.uptime # => "1:9:24:57"
67
+ #
68
+ def self.uptime
69
+ seconds = self.seconds
70
+ days = seconds / 86400
71
+ seconds -= days * 86400
72
+ hours = seconds / 3600
73
+ seconds -= hours * 3600
74
+ minutes = seconds / 60
75
+ seconds -= minutes * 60
76
+
77
+ "#{days}:#{hours}:#{minutes}:#{seconds}"
78
+ end
79
+
80
+ # Returns the uptime as a four element array, including days, hours,
81
+ # minutes and seconds.
82
+ #
83
+ # Example:
84
+ #
85
+ # Sys::Uptime.dhms # => [1,9,24,57]
86
+ #
87
+ def self.dhms
88
+ self.uptime.split(":")
89
+ end
90
+
91
+ # Returns the time the system was booted as a Time object.
92
+ #
93
+ # Example:
94
+ #
95
+ # Sys::Uptime.boot_time
96
+ #
97
+ def self.boot_time
98
+ Time.now - self.seconds
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,158 @@
1
+ require 'win32ole'
2
+ require 'socket'
3
+ require 'date'
4
+ require 'time'
5
+
6
+ # The Sys module serves as a namespace only.
7
+ module Sys
8
+
9
+ # The Uptime class encapsulates various bits of information regarding your
10
+ # system's uptime, including boot time.
11
+ class Uptime
12
+
13
+ # Error typically raised in one of the Uptime methods should fail.
14
+ class Error < StandardError; end
15
+
16
+ # The version of the sys-uptime library.
17
+ VERSION = '0.5.4'
18
+
19
+ # Returns the boot time as a Time object.
20
+ #
21
+ # Example:
22
+ #
23
+ # Sys::Uptime.boot_time # => Fri Dec 12 20:18:58 -0700 2008
24
+ #
25
+ def self.boot_time(host=Socket.gethostname)
26
+ cs = "winmgmts://#{host}/root/cimv2"
27
+ begin
28
+ wmi = WIN32OLE.connect(cs)
29
+ rescue WIN32OLERuntimeError => e
30
+ raise Error, e
31
+ else
32
+ query = "select LastBootupTime from Win32_OperatingSystem"
33
+ results = wmi.ExecQuery(query)
34
+ results.each{ |ole|
35
+ time_array = parse_ms_date(ole.LastBootupTime)
36
+ return Time.mktime(*time_array)
37
+ }
38
+ end
39
+ end
40
+
41
+ # Calculates and returns the number of days, hours, minutes and
42
+ # seconds the +host+ has been running as a colon-separated string.
43
+ #
44
+ # The localhost is used if no +host+ is provided.
45
+ #
46
+ # Example:
47
+ #
48
+ # Sys::Uptime.uptime # => "1:9:55:11"
49
+ #
50
+ def self.uptime(host=Socket.gethostname)
51
+ get_dhms(host).join(':')
52
+ end
53
+
54
+ # Calculates and returns the number of days, hours, minutes and
55
+ # seconds the +host+ has been running as a four-element Array.
56
+ # The localhost is used if no +host+ is provided.
57
+ #
58
+ # Example:
59
+ #
60
+ # Sys::Uptime.dhms # => [1, 9, 55, 11]
61
+ #
62
+ def self.dhms(host=Socket.gethostname)
63
+ get_dhms(host)
64
+ end
65
+
66
+ # Returns the total number of days the system has been up on +host+,
67
+ # or the localhost if no host is provided.
68
+ #
69
+ # Example:
70
+ #
71
+ # Sys::Uptime.days # => 1
72
+ #
73
+ def self.days(host=Socket.gethostname)
74
+ hours(host) / 24
75
+ end
76
+
77
+ # Returns the total number of hours the system has been up on +host+,
78
+ # or the localhost if no host is provided.
79
+ #
80
+ # Example:
81
+ #
82
+ # Sys::Uptime.hours # => 33
83
+ #
84
+ def self.hours(host=Socket.gethostname)
85
+ minutes(host) / 60
86
+ end
87
+
88
+ # Returns the total number of minutes the system has been up on +host+,
89
+ # or the localhost if no host is provided.
90
+ #
91
+ # Example:
92
+ #
93
+ # Sys::Uptime.minutes # => 1980
94
+ #
95
+ def self.minutes(host=Socket.gethostname)
96
+ seconds(host) / 60
97
+ end
98
+
99
+ # Returns the total number of seconds the system has been up on +host+,
100
+ # or the localhost if no host is provided.
101
+ #
102
+ # Example:
103
+ #
104
+ # Sys::Uptime.seconds # => 118800
105
+ #
106
+ def self.seconds(host=Socket.gethostname)
107
+ get_seconds(host)
108
+ end
109
+
110
+ private
111
+
112
+ # Converts a string in the format '20040703074625.015625-360' into a
113
+ # Ruby Time object.
114
+ #
115
+ def self.parse_ms_date(str)
116
+ return if str.nil?
117
+ return Time.parse(str.split('.').first)
118
+ end
119
+
120
+ # Get the actual days, hours, minutes and seconds since boot using WMI.
121
+ #
122
+ def self.get_dhms(host)
123
+ seconds = get_seconds(host)
124
+
125
+ days = (seconds / 86400).to_i
126
+ seconds -= days * 86400
127
+ hours = seconds / 3600
128
+ seconds -= hours * 3600
129
+ minutes = seconds / 60
130
+ seconds -= minutes * 60
131
+
132
+ [days, hours, minutes, seconds]
133
+ end
134
+
135
+ # Returns the number of seconds since boot.
136
+ #
137
+ def self.get_seconds(host)
138
+ cs = "winmgmts://#{host}/root/cimv2"
139
+ begin
140
+ wmi = WIN32OLE.connect(cs)
141
+ rescue WIN32OLERuntimeError => e
142
+ raise Error, e
143
+ else
144
+ query = "select LastBootupTime from Win32_OperatingSystem"
145
+ results = wmi.ExecQuery(query)
146
+ now = Time.now
147
+
148
+ results.each{ |ole|
149
+ time_array = parse_ms_date(ole.LastBootupTime)
150
+ boot_time = Time.mktime(*time_array)
151
+ break
152
+ }
153
+ end
154
+
155
+ (now - boot_time).to_i
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = 'sys-uptime'
5
+ spec.version = '0.5.4'
6
+ spec.author = 'Daniel J. Berger'
7
+ spec.email = 'djberg96@gmail.com'
8
+ spec.homepage = 'http://www.rubyforge.org/projects/sysutils'
9
+ spec.platform = Gem::Platform::RUBY
10
+ spec.summary = 'A Ruby interface for getting system uptime information.'
11
+ spec.test_file = 'test/test_sys_uptime.rb'
12
+ spec.extra_rdoc_files = ['CHANGES', 'README', 'MANIFEST', 'doc/uptime.txt']
13
+ spec.rubyforge_project = 'sysutils'
14
+ spec.files = Dir['**/*'].delete_if{ |item| item.include?('git') }
15
+
16
+ spec.description = <<-EOF
17
+ The sys-uptime library is a simple interface for gathering uptime
18
+ information. You can retrieve data in seconds, minutes, days, hours,
19
+ or all of the above.
20
+ EOF
21
+ end
@@ -1,5 +1,5 @@
1
1
  #####################################################################
2
- # tc_uptime.rb
2
+ # test_sys_uptime.rb
3
3
  #
4
4
  # Test suite for sys-uptime. This should generally be run via the
5
5
  # 'rake test' task, since it handles the pre-setup code for you.
@@ -8,58 +8,58 @@ require 'sys/uptime'
8
8
  require 'test/unit'
9
9
  include Sys
10
10
 
11
- class TC_Uptime < Test::Unit::TestCase
12
- def test_version
13
- assert_equal('0.5.3', Uptime::VERSION)
14
- end
11
+ class TC_Sys_Uptime < Test::Unit::TestCase
12
+ def test_version
13
+ assert_equal('0.5.4', Uptime::VERSION)
14
+ end
15
15
 
16
- def test_seconds
17
- assert_respond_to(Uptime, :seconds)
18
- assert_nothing_raised{ Uptime.seconds }
19
- assert_kind_of(Fixnum, Uptime.seconds)
20
- assert_equal(true, Uptime.seconds > 0)
21
- end
16
+ def test_seconds
17
+ assert_respond_to(Uptime, :seconds)
18
+ assert_nothing_raised{ Uptime.seconds }
19
+ assert_kind_of(Fixnum, Uptime.seconds)
20
+ assert_equal(true, Uptime.seconds > 0)
21
+ end
22
22
 
23
- def test_minutes
24
- assert_respond_to(Uptime, :minutes)
25
- assert_nothing_raised{ Uptime.minutes }
26
- assert_kind_of(Fixnum, Uptime.minutes)
27
- end
23
+ def test_minutes
24
+ assert_respond_to(Uptime, :minutes)
25
+ assert_nothing_raised{ Uptime.minutes }
26
+ assert_kind_of(Fixnum, Uptime.minutes)
27
+ end
28
28
 
29
- def test_hours
30
- assert_respond_to(Uptime, :hours)
31
- assert_nothing_raised{ Uptime.hours }
32
- assert_kind_of(Fixnum, Uptime.hours)
33
- end
29
+ def test_hours
30
+ assert_respond_to(Uptime, :hours)
31
+ assert_nothing_raised{ Uptime.hours }
32
+ assert_kind_of(Fixnum, Uptime.hours)
33
+ end
34
34
 
35
- def test_days
36
- assert_respond_to(Uptime,:days)
37
- assert_nothing_raised{ Uptime.days }
38
- assert_kind_of(Fixnum, Uptime.days)
39
- end
35
+ def test_days
36
+ assert_respond_to(Uptime,:days)
37
+ assert_nothing_raised{ Uptime.days }
38
+ assert_kind_of(Fixnum, Uptime.days)
39
+ end
40
40
 
41
- def test_uptime
42
- assert_respond_to(Uptime,:uptime)
43
- assert_nothing_raised{ Uptime.uptime }
44
- assert_kind_of(String, Uptime.uptime)
45
- assert_equal(false, Uptime.uptime.empty?)
46
- end
41
+ def test_uptime
42
+ assert_respond_to(Uptime,:uptime)
43
+ assert_nothing_raised{ Uptime.uptime }
44
+ assert_kind_of(String, Uptime.uptime)
45
+ assert_equal(false, Uptime.uptime.empty?)
46
+ end
47
47
 
48
- def test_dhms
49
- assert_respond_to(Uptime,:dhms)
50
- assert_nothing_raised{ Uptime.dhms }
51
- assert_kind_of(Array, Uptime.dhms)
52
- assert_equal(false, Uptime.dhms.empty?)
53
- assert_equal(4, Uptime.dhms.length)
54
- end
48
+ def test_dhms
49
+ assert_respond_to(Uptime,:dhms)
50
+ assert_nothing_raised{ Uptime.dhms }
51
+ assert_kind_of(Array, Uptime.dhms)
52
+ assert_equal(false, Uptime.dhms.empty?)
53
+ assert_equal(4, Uptime.dhms.length)
54
+ end
55
55
 
56
- def test_boot_time
57
- assert_respond_to(Uptime,:boot_time)
58
- assert_nothing_raised{ Uptime.boot_time }
59
- assert_kind_of(Time, Uptime.boot_time)
60
- end
56
+ def test_boot_time
57
+ assert_respond_to(Uptime,:boot_time)
58
+ assert_nothing_raised{ Uptime.boot_time }
59
+ assert_kind_of(Time, Uptime.boot_time)
60
+ end
61
61
 
62
- def test_uptime_error
63
- assert_kind_of(StandardError, Uptime::Error.new)
64
- end
62
+ def test_uptime_error
63
+ assert_kind_of(StandardError, Uptime::Error.new)
64
+ end
65
65
  end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sys-uptime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ hash: 3
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 5
9
+ - 4
10
+ version: 0.5.4
5
11
  platform: ruby
6
12
  authors:
7
13
  - Daniel J. Berger
@@ -9,11 +15,10 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2009-05-07 00:00:00 -06:00
13
- default_executable:
18
+ date: 2011-07-27 00:00:00 Z
14
19
  dependencies: []
15
20
 
16
- description: " The sys-uptime library is a simple interface for gathering uptime\n information. You can retrieve data in seconds, minutes, days, hours,\n or all of the above.\n"
21
+ description: " The sys-uptime library is a simple interface for gathering uptime\n information. You can retrieve data in seconds, minutes, days, hours,\n or all of the above.\n"
17
22
  email: djberg96@gmail.com
18
23
  executables: []
19
24
 
@@ -26,14 +31,18 @@ extra_rdoc_files:
26
31
  - doc/uptime.txt
27
32
  - ext/sys/uptime.c
28
33
  files:
29
- - doc/uptime.txt
30
- - test/test_sys_uptime.rb
31
34
  - CHANGES
32
- - README
33
- - MANIFEST
35
+ - doc/uptime.txt
36
+ - examples/sys_uptime_example.rb
34
37
  - ext/extconf.rb
35
38
  - ext/sys/uptime.c
36
- has_rdoc: true
39
+ - lib/linux/sys/uptime.rb
40
+ - lib/windows/sys/uptime.rb
41
+ - MANIFEST
42
+ - Rakefile
43
+ - README
44
+ - sys-uptime.gemspec
45
+ - test/test_sys_uptime.rb
37
46
  homepage: http://www.rubyforge.org/projects/sysutils
38
47
  licenses: []
39
48
 
@@ -43,21 +52,27 @@ rdoc_options: []
43
52
  require_paths:
44
53
  - lib
45
54
  required_ruby_version: !ruby/object:Gem::Requirement
55
+ none: false
46
56
  requirements:
47
57
  - - ">="
48
58
  - !ruby/object:Gem::Version
49
- version: 1.8.0
50
- version:
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
51
63
  required_rubygems_version: !ruby/object:Gem::Requirement
64
+ none: false
52
65
  requirements:
53
66
  - - ">="
54
67
  - !ruby/object:Gem::Version
68
+ hash: 3
69
+ segments:
70
+ - 0
55
71
  version: "0"
56
- version:
57
72
  requirements: []
58
73
 
59
74
  rubyforge_project: sysutils
60
- rubygems_version: 1.3.2
75
+ rubygems_version: 1.8.3
61
76
  signing_key:
62
77
  specification_version: 3
63
78
  summary: A Ruby interface for getting system uptime information.