thyme 0.0.8 → 0.0.9

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.
Files changed (4) hide show
  1. data/README.md +8 -3
  2. data/thyme.rb +4 -4
  3. data/thyme_test.rb +18 -1
  4. metadata +2 -2
data/README.md CHANGED
@@ -36,7 +36,12 @@ Thyme is configurable and extensible. All configurations live in the
36
36
  set :tmux, true
37
37
  set :tmux_theme "#[fg=mycolor,bg=mycolor]#[fg=%s]%s#[fg=mycolor,bg=mycolor]"
38
38
 
39
- option :o, :open, 'open sheets' do
39
+ option :b, :break, 'start a break' do
40
+ set :timer, 5*60
41
+ run
42
+ end
43
+
44
+ option :t, :today, 'open today sheet' do
40
45
  `vim -O ~/.thyme-today.md ~/.thyme-records.md < \`tty\` > \`tty\``
41
46
  end
42
47
 
@@ -55,8 +60,8 @@ The `set` method sets different configurations. There are only two:
55
60
  * `:tmux` is whether or not you want tmux integration on (off by default)
56
61
 
57
62
  The `option` method adds new options to the `thyme` command. In the above
58
- example, we can now execute `thyme -o`. Use `thyme -h` to see available
59
- options.
63
+ example, we can now execute `thyme -b` or `thyme -t`. Use `thyme -h` to see
64
+ available options.
60
65
 
61
66
  The `before` and `after` adds hooks to our timer. Now before the timer starts,
62
67
  an mp3 will play. After the timer ends, a notification will be sent.
data/thyme.rb CHANGED
@@ -2,7 +2,7 @@ require 'ruby-progressbar'
2
2
  require 'date'
3
3
 
4
4
  class Thyme
5
- VERSION = '0.0.8'
5
+ VERSION = '0.0.9'
6
6
  CONFIG_FILE = "#{ENV['HOME']}/.thymerc"
7
7
  PID_FILE = "#{ENV['HOME']}/.thyme-pid"
8
8
  TMUX_FILE = "#{ENV['HOME']}/.thyme-tmux"
@@ -41,7 +41,7 @@ class Thyme
41
41
  tmux_file.flush
42
42
  end
43
43
  if before_hook
44
- before_hook.call
44
+ self.instance_exec(&before_hook)
45
45
  before_hook = nil
46
46
  end
47
47
  sleep(@interval)
@@ -53,7 +53,7 @@ class Thyme
53
53
  File.delete(TMUX_FILE) if File.exists?(TMUX_FILE)
54
54
  File.delete(PID_FILE) if File.exists?(PID_FILE)
55
55
  seconds_left = [seconds_start - seconds_since(start_time), 0].max
56
- @after.call(seconds_left) if @after
56
+ self.instance_exec(seconds_left, &@after) if @after
57
57
  end
58
58
 
59
59
  def stop
@@ -82,7 +82,7 @@ class Thyme
82
82
  end
83
83
 
84
84
  def option(optparse, short, long, desc, &block)
85
- optparse.on("-#{short}", "--#{long}", desc) { block.call; exit }
85
+ optparse.on("-#{short}", "--#{long}", desc) { self.instance_exec(&block); exit }
86
86
  end
87
87
 
88
88
  def load_config(optparse)
data/thyme_test.rb CHANGED
@@ -6,7 +6,10 @@ Minitest.autorun
6
6
 
7
7
  class ThymeTest < Minitest::Test
8
8
  def setup
9
+ # TODO: stub out progress bar
9
10
  @thyme = Thyme.new
11
+ @thyme.set(:interval, 0)
12
+ @thyme.set(:timer, 0)
10
13
  end
11
14
 
12
15
  def test_format
@@ -22,9 +25,23 @@ class ThymeTest < Minitest::Test
22
25
  end
23
26
 
24
27
  def test_set
25
- assert_equal(25*60, @thyme.instance_variable_get('@timer'))
28
+ assert_equal(0, @thyme.instance_variable_get('@timer'))
26
29
  @thyme.set(:timer, 20*60)
27
30
  assert_equal(20*60, @thyme.instance_variable_get('@timer'))
28
31
  assert_raises(ThymeError) { @thyme.set(:invalid, nil) }
29
32
  end
33
+
34
+ def test_run
35
+ @thyme.run
36
+ end
37
+
38
+ def test_hooks
39
+ @thyme.before { @before_flag = true }
40
+ @thyme.after { @after_flag = true }
41
+ refute(@thyme.instance_variable_get('@before_flag'))
42
+ refute(@thyme.instance_variable_get('@after_flag'))
43
+ @thyme.run
44
+ assert(@thyme.instance_variable_get('@before_flag'))
45
+ assert(@thyme.instance_variable_get('@after_flag'))
46
+ end
30
47
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thyme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: .
11
11
  cert_chain: []
12
- date: 2013-10-13 00:00:00.000000000 Z
12
+ date: 2013-10-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ruby-progressbar