thyme 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
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