timer 0.0.4 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/timer.rb +44 -17
- data/timer.gemspec +2 -8
- metadata +4 -7
- data/test/helper.rb +0 -10
- data/test/test_timer.rb +0 -7
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0
|
1
|
+
0.1.0
|
data/lib/timer.rb
CHANGED
@@ -1,17 +1,48 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'g'
|
3
3
|
|
4
|
-
|
4
|
+
class Timer
|
5
|
+
attr_accessor :timer_title, :growl
|
6
|
+
|
7
|
+
def initialize(options={})
|
8
|
+
@timer_title = options[:title]
|
9
|
+
if options[:growl] == nil
|
10
|
+
options[:growl] = true
|
11
|
+
end
|
12
|
+
@growl = options[:growl]
|
13
|
+
end
|
14
|
+
|
5
15
|
def time(message="", options={})
|
6
|
-
title = options[:title] ||
|
16
|
+
title = options[:title] || timer_title
|
7
17
|
|
8
18
|
start_time = Time.now
|
9
19
|
yield
|
10
20
|
end_time = Time.now
|
11
21
|
put_elapsed_time(start_time, end_time, message, title)
|
12
22
|
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def growl?
|
27
|
+
@growl
|
28
|
+
end
|
13
29
|
|
14
30
|
def put_elapsed_time(start_time, end_time, message="", title=nil)
|
31
|
+
elapsed_time = format_time(start_time, end_time)
|
32
|
+
|
33
|
+
puts
|
34
|
+
e = ""
|
35
|
+
if message.to_s.strip != ""
|
36
|
+
message += ". "
|
37
|
+
end
|
38
|
+
e = message + e
|
39
|
+
e += "Elapsed time: #{elapsed_time}"
|
40
|
+
puts e
|
41
|
+
growl(e, title)
|
42
|
+
end
|
43
|
+
|
44
|
+
def format_time(start_time, end_time=nil)
|
45
|
+
end_time ||= Time.now
|
15
46
|
seconds = end_time - start_time
|
16
47
|
if seconds > 59
|
17
48
|
minutes = seconds / 60.0
|
@@ -26,25 +57,21 @@ module Timer
|
|
26
57
|
else
|
27
58
|
s = seconds.to_i > 1 ? "seconds" : "minutes"
|
28
59
|
elapsed_time = "#{seconds.to_i} #{s}"
|
29
|
-
end
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
if
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
if title
|
40
|
-
g(e, :title => title)
|
41
|
-
else
|
42
|
-
g(e)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def growl(message, title)
|
64
|
+
if growl?
|
65
|
+
if title
|
66
|
+
g(message, :title => title)
|
67
|
+
else
|
68
|
+
g(message)
|
69
|
+
end
|
43
70
|
end
|
44
71
|
rescue StandardError => e
|
45
72
|
# growl isn't turned on, fail silently
|
46
73
|
unless e.message =~ /Connection refused/
|
47
74
|
raise e
|
48
|
-
end
|
75
|
+
end
|
49
76
|
end
|
50
77
|
end
|
data/timer.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{timer}
|
8
|
-
s.version = "0.0
|
8
|
+
s.version = "0.1.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jeff Coleman"]
|
12
|
-
s.date = %q{2010-01-
|
12
|
+
s.date = %q{2010-01-11}
|
13
13
|
s.description = %q{Simple timer to perform a block and display the elapsed time}
|
14
14
|
s.email = %q{progressions@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -24,8 +24,6 @@ Gem::Specification.new do |s|
|
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
26
26
|
"lib/timer.rb",
|
27
|
-
"test/helper.rb",
|
28
|
-
"test/test_timer.rb",
|
29
27
|
"timer.gemspec"
|
30
28
|
]
|
31
29
|
s.homepage = %q{http://github.com/progressions/timer}
|
@@ -33,10 +31,6 @@ Gem::Specification.new do |s|
|
|
33
31
|
s.require_paths = ["lib"]
|
34
32
|
s.rubygems_version = %q{1.3.5}
|
35
33
|
s.summary = %q{Simple timer to perform a block and display the elapsed time}
|
36
|
-
s.test_files = [
|
37
|
-
"test/helper.rb",
|
38
|
-
"test/test_timer.rb"
|
39
|
-
]
|
40
34
|
|
41
35
|
if s.respond_to? :specification_version then
|
42
36
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Coleman
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-11 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -49,8 +49,6 @@ files:
|
|
49
49
|
- Rakefile
|
50
50
|
- VERSION
|
51
51
|
- lib/timer.rb
|
52
|
-
- test/helper.rb
|
53
|
-
- test/test_timer.rb
|
54
52
|
- timer.gemspec
|
55
53
|
has_rdoc: true
|
56
54
|
homepage: http://github.com/progressions/timer
|
@@ -80,6 +78,5 @@ rubygems_version: 1.3.5
|
|
80
78
|
signing_key:
|
81
79
|
specification_version: 3
|
82
80
|
summary: Simple timer to perform a block and display the elapsed time
|
83
|
-
test_files:
|
84
|
-
|
85
|
-
- test/test_timer.rb
|
81
|
+
test_files: []
|
82
|
+
|
data/test/helper.rb
DELETED