vete 0.6.3 → 0.6.6

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/vete.rb +17 -12
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 99919fa6a5c6a28cbc48510c551a6f0dabdac96f317a9cdaa181b37fd4fdd5bf
4
- data.tar.gz: bd70e8b7eef1b32c302ac20b749a1aa55e6b4b276fda1024a30c7ccedac983fd
3
+ metadata.gz: 7e4fc5b306a83552b0d01f0d66ed585ac21327f6d0770778329ee8f5f6a2d45b
4
+ data.tar.gz: d15f798085770e94721d3c388155292c1f18dff1cb5f588aa0ad5a952d94794a
5
5
  SHA512:
6
- metadata.gz: 4011761a29f57994863b77e357d2633ffa16b9f0c000569bd69c357a6214c583bf50f9b677bc3508d2036becff0dd4f238a34e388c1444c62205991b65b462c1
7
- data.tar.gz: a0d1b80373d0941d6cf7911d18be4be936f4d3b6e599a13fd7af08ebc17a16b568e68c697967fd85c9ceabc12baba2472e76612b200a1787839570d8f3f1ae93
6
+ metadata.gz: cc13e483ac0301df8c5a7ceac34577fd965a6645474c3d117f4674072d67bdc34ace32d372ae7fa6acf18f901bafc6ebb3c2242d13b474a2b8284f6fb0dbe670
7
+ data.tar.gz: fa3cecc1dd5af2ec412a3796b48df87473b5d4c8bf40401297caa4c62606be394bbc74b53405713dccdec8373dd626854177121f422d41f6155612f3d0a4b621
data/lib/vete.rb CHANGED
@@ -19,7 +19,7 @@ trap("INT" ) { print clear + go; abort "\n" }
19
19
  trap("WINCH") { print clear or draw if @pid == Process.pid }
20
20
 
21
21
  OptionParser.new.instance_eval do
22
- @version = "0.6.3"
22
+ @version = "0.6.6"
23
23
  @banner = "usage: #{program_name} [options]"
24
24
 
25
25
  on "-b", "--bar <width>" , "Progress bar width, in characters", Integer
@@ -31,7 +31,7 @@ OptionParser.new.instance_eval do
31
31
  on "-w", "--workers <count>" , "Set the number of workers (default is 1)", Integer
32
32
 
33
33
  self
34
- end.parse!(into: opts={}) rescue abort($!.message)
34
+ end.parse!(into: @opts = opts = {}) rescue abort($!.message)
35
35
 
36
36
  # populate CLI options
37
37
  @char = opts[:char ] || "•"; @char = @char[0]
@@ -53,12 +53,11 @@ end
53
53
  # define job directories
54
54
  @vete = File.expand_path(".vete")
55
55
  @todo = File.join(@vete, "todo")
56
- @live = File.join(@vete, "live")
57
56
  @done = File.join(@vete, "done")
58
57
  @died = File.join(@vete, "died")
59
58
 
60
59
  def move(path, dest)
61
- dest = File.join(dest, File.basename(path))
60
+ dest = File.join(dest, File.basename(path)) unless path.is_a?(Array)
62
61
  FileUtils.mv(path, dest, force: true, secure: true)
63
62
  end
64
63
 
@@ -73,13 +72,13 @@ end
73
72
 
74
73
  def vete_init
75
74
  nuke
76
- list = [@todo, @live, @done, @died]
75
+ list = [@todo, @done, @died]
77
76
  list.each {|path| FileUtils.mkdir_p(path) }
78
77
  end
79
78
 
80
79
  def vete_retry
81
80
  list = Dir.glob(File.join(@died, "*")).sort.each {|path| FileUtils.touch(path) }
82
- move(list, @todo)
81
+ list.empty? ? false : !!move(list, @todo)
83
82
  end
84
83
 
85
84
  def vete_todo(path, data=nil)
@@ -96,13 +95,19 @@ def cursor(on) ; print on ? "\e[?25h": "\e[?25l"; end
96
95
  def go(r=1,c=1) ; "\e[#{r};#{c}H" ; end
97
96
  def go!(...) ; print go(...) ; end
98
97
 
99
- def fg(rgb=nil); rgb ? "\e[38;2;#{hx(rgb)}m" : "\e[39m"; end
100
- def bg(rgb=nil); rgb ? "\e[48;2;#{hx(rgb)}m" : "\e[49m"; end
101
- def hx(str=nil); str =~ /\A#?(?:(\h\h)(\h\h)(\h\h)|(\h)(\h)(\h))\z/ or return
102
- r, g, b = $1 ? [$1, $2, $3] : [$4*2, $5*2, $6*2]
103
- [r.hex, g.hex, b.hex] * ";"
98
+ @hex={}
99
+
100
+ def hex(str=nil)
101
+ @hex[str] ||= begin
102
+ str =~ /\A#?(?:(\h\h)(\h\h)(\h\h)|(\h)(\h)(\h))\z/ or return
103
+ r, g, b = $1 ? [$1, $2, $3] : [$4*2, $5*2, $6*2]
104
+ [r.hex, g.hex, b.hex] * ";"
105
+ end
104
106
  end
105
107
 
108
+ def fg(rgb=nil); rgb ? "\e[38;2;#{hex(rgb)}m" : "\e[39m"; end
109
+ def bg(rgb=nil); rgb ? "\e[48;2;#{hex(rgb)}m" : "\e[49m"; end
110
+
106
111
  def draw(live=0, done=0, died=0, jobs=0, info=nil)
107
112
 
108
113
  # outer box
@@ -122,7 +127,7 @@ def draw(live=0, done=0, died=0, jobs=0, info=nil)
122
127
  info.each do |slot, this|
123
128
  tpct = this.to_f / most
124
129
  cols = ppct * tpct * @wide
125
- print go(slot + 1, @len + 5) + bg("5383ec") + @char * cols
130
+ print go(slot + 1, @len + 5) + bg("5383ec") + @char * cols # fg("fff")
126
131
  end
127
132
 
128
133
  # summary bar
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vete
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Shreeve
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-22 00:00:00.000000000 Z
11
+ date: 2023-03-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby CLI to spawn processes to get work done
14
14
  email: steve.shreeve@gmail.com
@@ -44,7 +44,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
46
  requirements: []
47
- rubygems_version: 3.4.9
47
+ rubygems_version: 3.4.10
48
48
  signing_key:
49
49
  specification_version: 4
50
50
  summary: Ruby CLI to spawn processes to get work done