timer 0.0.4 → 0.1.0

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/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