rooster 0.0.3 → 0.0.4

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/README.md CHANGED
@@ -18,4 +18,4 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- $ rooster 10 "Ten minutes have past"
21
+ $ rooster 10 "Ten minutes have passed."
data/Rakefile CHANGED
@@ -1 +1,9 @@
1
1
  require "bundler/gem_tasks"
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << 'test'
6
+ end
7
+
8
+ desc "Run tests"
9
+ task :default => :test
@@ -2,6 +2,13 @@
2
2
 
3
3
  require 'rooster'
4
4
 
5
- # TODO input validation, print usage, --help?
5
+ def usage
6
+ abort "Usage: rooster <minutes> <text>"
7
+ end
8
+
9
+ if ARGV[0].nil? || ARGV[1].nil? || ARGV[0].to_i < 1 || %w{--help help -h}.include?(ARGV[0])
10
+ usage
11
+ else
12
+ Rooster::EggTimer.new ARGV[0], ARGV[1]
13
+ end
6
14
 
7
- Rooster::EggTimer.new(ARGV[0], ARGV[1])
@@ -4,32 +4,34 @@ module Rooster
4
4
 
5
5
  ONE_MINUTE = 60
6
6
 
7
- def initialize mins, text
8
- # @start = Time.now
9
-
7
+ # Start your egg timer
8
+ #
9
+ # Example:
10
+ # >> rooster 10, "remind me to make coffee in ten minutes"
11
+ #
12
+ # Arguments:
13
+ # minutes: (Integer)
14
+ # text: (String)
15
+ def initialize minutes, text
10
16
  @text = text
11
- @mins = mins.to_i
17
+ @minutes = minutes.to_i
12
18
 
13
19
  run
14
20
  end
15
-
21
+
16
22
  def run
17
- while @mins > 0
18
- puts "\"#{@text}\" in #{@mins} minutes"
23
+ while @minutes > 0
24
+ puts "\"#{@text}\" in #{@minutes} minutes"
19
25
  sleep ONE_MINUTE
20
- @mins -= 1
26
+ @minutes -= 1
21
27
  end
22
28
  alarm
23
29
  end
24
30
 
25
31
  def alarm
26
32
  `tput bel` if can_tput
27
-
28
33
  TerminalNotifier.notify @text, :title => 'Egg Timer'
29
-
30
34
  puts @text
31
-
32
- # puts "* Duration: #{Time.now - @start} seconds"
33
35
  end
34
36
 
35
37
  protected
@@ -1,3 +1,3 @@
1
1
  module Rooster
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["charles.stuart@gmail.com"]
11
11
  spec.description = %q{Remind yourself to do something or other in a specified number of minutes.}
12
12
  spec.summary = %q{An egg timer.}
13
- spec.homepage = ""
13
+ spec.homepage = "https://github.com/enure/rooster"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -0,0 +1,12 @@
1
+ require 'test/unit'
2
+ require 'rooster'
3
+
4
+ class RoosterTest < Test::Unit::TestCase
5
+
6
+ def test_1_minute_timer
7
+ start = Time.now
8
+ Rooster::EggTimer.new 1, "Hello in 1 minute"
9
+ assert_equal(((Time.now - start) / 60).to_i, 1)
10
+ end
11
+
12
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rooster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -77,7 +77,8 @@ files:
77
77
  - lib/rooster/egg_timer.rb
78
78
  - lib/rooster/version.rb
79
79
  - rooster.gemspec
80
- homepage: ''
80
+ - test/test_rooster.rb
81
+ homepage: https://github.com/enure/rooster
81
82
  licenses:
82
83
  - MIT
83
84
  post_install_message:
@@ -102,4 +103,5 @@ rubygems_version: 1.8.23
102
103
  signing_key:
103
104
  specification_version: 3
104
105
  summary: An egg timer.
105
- test_files: []
106
+ test_files:
107
+ - test/test_rooster.rb