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 CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.1.0
data/lib/timer.rb CHANGED
@@ -1,17 +1,48 @@
1
1
  require 'rubygems'
2
2
  require 'g'
3
3
 
4
- module Timer
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
- puts
32
- e = ""
33
- if message.strip != ""
34
- message += ". "
35
- end
36
- e = message + e
37
- e += "Elapsed time: #{elapsed_time}"
38
- puts e
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.4"
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-10}
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
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-10 00:00:00 -06:00
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
- - test/helper.rb
85
- - test/test_timer.rb
81
+ test_files: []
82
+
data/test/helper.rb DELETED
@@ -1,10 +0,0 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'shoulda'
4
-
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
- $LOAD_PATH.unshift(File.dirname(__FILE__))
7
- require 'timer'
8
-
9
- class Test::Unit::TestCase
10
- end
data/test/test_timer.rb DELETED
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestTimer < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end