thyme 0.0.12 → 0.0.13

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/thyme.rb +14 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 01f04a390342ec220db3518e9c4495a615526d9c
4
- data.tar.gz: 9486f89eee4c8770a10c7d1b529e25d00a2a2b82
3
+ metadata.gz: 2dc55d1fa48aa2ebf2655f9140fa9ca1a06758b3
4
+ data.tar.gz: a55a448d17fabd05cb12a2ba86a17a30d9ebc2af
5
5
  SHA512:
6
- metadata.gz: d206ec0493005d94414a7e8b46de5e3f739f0c4fa24ee897e0545c99a77c60675659c61a9126d66b1d3bde7b8ca7b6ff471c6618fe0e015324e1d07e8644f4b6
7
- data.tar.gz: 55552b2da07a13917a2225aeba7840bbcd381ca441a3c46440018b547e79a67d0914c7053172a0fe40903fd84a2c8fa792a26a909866f4f7a3b811e039a30f2a
6
+ metadata.gz: 2f2b2bff48e1730abbe236b56f930638911f4f4f33991269253af116262b8e82bd04e5e2808226717a5128fe456ef14131493802c6d5563b49b20606952d03b4
7
+ data.tar.gz: dd12fc5edede848a295f164d3a4ec37e01a698b17fb3069c4e78842249366eb879281637ec8916a33d77d674de42ba7348d02bb366f344d9bc026f2959545783
data/lib/thyme.rb CHANGED
@@ -2,7 +2,7 @@ require 'ruby-progressbar'
2
2
  require 'date'
3
3
 
4
4
  class Thyme
5
- VERSION = '0.0.12'
5
+ VERSION = '0.0.13'
6
6
  CONFIG_FILE = "#{ENV['HOME']}/.thymerc"
7
7
  PID_FILE = "#{ENV['HOME']}/.thyme-pid"
8
8
  TMUX_FILE = "#{ENV['HOME']}/.thyme-tmux"
@@ -36,6 +36,10 @@ class Thyme
36
36
  Process.daemon
37
37
  end
38
38
 
39
+ def daemon?
40
+ !!@daemon
41
+ end
42
+
39
43
  def set(opt, val)
40
44
  raise ThymeError.new("Invalid option: #{opt}") if !OPTIONS.include?(opt.to_sym)
41
45
  self.instance_variable_set("@#{opt}", val)
@@ -49,6 +53,10 @@ class Thyme
49
53
  @after = block
50
54
  end
51
55
 
56
+ def tick(&block)
57
+ @tick = block
58
+ end
59
+
52
60
  def option(optparse, short, long, desc, &block)
53
61
  optparse.on("-#{short}", "--#{long}", desc) do |*args|
54
62
  self.instance_exec(*args, &block)
@@ -63,6 +71,7 @@ class Thyme
63
71
  define_method(:set) { |opt,val| app.set(opt,val) }
64
72
  define_method(:before) { |&block| app.before(&block) }
65
73
  define_method(:after) { |&block| app.after(&block) }
74
+ define_method(:tick) { |&block| app.tick(&block) }
66
75
  define_method(:option) { |sh,lo,desc,&b| app.option(optparse,sh,lo,desc,&b) }
67
76
  end
68
77
  load(CONFIG_FILE, true)
@@ -82,7 +91,7 @@ class Thyme
82
91
  start_time = DateTime.now
83
92
  min_length = (seconds_left / 60).floor.to_s.length
84
93
  tmux_file = File.open(TMUX_FILE, "w") if @tmux
85
- bar = ENV['THYME_TEST'].nil? && !@daemon ?
94
+ bar = ENV['THYME_TEST'].nil? && !daemon? ?
86
95
  ProgressBar.create(
87
96
  title: format(seconds_left-1, min_length),
88
97
  total: seconds_start,
@@ -107,6 +116,9 @@ class Thyme
107
116
  self.instance_exec(&before_hook)
108
117
  before_hook = nil
109
118
  end
119
+ if @tick
120
+ self.instance_exec(seconds_left, &@tick)
121
+ end
110
122
  sleep(@interval)
111
123
  end
112
124
  rescue SignalException => e
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thyme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hugh Bien
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-25 00:00:00.000000000 Z
11
+ date: 2014-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-progressbar