yuris-timer 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/timer +6 -0
  2. data/lib/yuris-timer.rb +30 -0
  3. metadata +63 -0
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "yuris-timer"
4
+
5
+ timer = Timer.new(ARGV)
6
+ timer.start
@@ -0,0 +1,30 @@
1
+ class Timer
2
+ attr_accessor :message
3
+
4
+ def initialize(args)
5
+ @number_of_minutes, *@message = *args
6
+ @message = @message.join(" ")
7
+ end
8
+
9
+ def title
10
+ "#{@number_of_minutes.to_i} min timer elapsed"
11
+ end
12
+
13
+ def message
14
+ @message.empty? ? "I'm runaway" : @message
15
+ end
16
+
17
+ def start
18
+ pid = fork do
19
+ sleep(total_seconds)
20
+ `terminal-notifier -title "#{title}" -message "#{message}"`
21
+ end
22
+
23
+ Process.detach(pid)
24
+ end
25
+
26
+ def total_seconds
27
+ (@number_of_minutes.to_f * 60).to_i
28
+ end
29
+
30
+ end
metadata ADDED
@@ -0,0 +1,63 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yuris-timer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Yuri Kasperovich
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-11-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: terminal-notifier
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ description: ! '> timer 10min Bla bla bla'
31
+ email: ykas.gg@gmail.com
32
+ executables:
33
+ - timer
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - lib/yuris-timer.rb
38
+ - bin/timer
39
+ homepage: http://rubygems.org/gems/yuris-timer
40
+ licenses: []
41
+ post_install_message:
42
+ rdoc_options: []
43
+ require_paths:
44
+ - lib
45
+ required_ruby_version: !ruby/object:Gem::Requirement
46
+ none: false
47
+ requirements:
48
+ - - ! '>='
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ required_rubygems_version: !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ requirements: []
58
+ rubyforge_project:
59
+ rubygems_version: 1.8.23
60
+ signing_key:
61
+ specification_version: 3
62
+ summary: Command line timer
63
+ test_files: []