ruby-progress 1.3.2 → 1.3.5

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.
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'json'
5
+
6
+ # Read the SimpleCov results
7
+ data = JSON.parse(File.read('coverage/.resultset.json'))
8
+ files = data['RSpec']['coverage']
9
+
10
+ results = []
11
+ files.each do |path, coverage|
12
+ next unless path.include?('lib/ruby-progress') && !path.include?('/bin/')
13
+
14
+ lines = coverage['lines'] || []
15
+ total = lines.compact.count
16
+ next if total.zero?
17
+
18
+ covered = lines.count { |l| l&.positive? }
19
+ pct = (covered * 100.0 / total).round(1)
20
+ short_path = path.split('ruby-progress/').last
21
+ results << { path: short_path, pct: pct, covered: covered, total: total }
22
+ end
23
+
24
+ puts "\n=== Coverage Analysis by File ===\n\n"
25
+ puts "Files with lowest coverage (need attention):\n\n"
26
+
27
+ results.sort_by { |r| r[:pct] }.first(10).each do |r|
28
+ color = if r[:pct] < 30
29
+ "\e[31m"
30
+ else
31
+ r[:pct] < 60 ? "\e[33m" : "\e[32m"
32
+ end
33
+ reset = "\e[0m"
34
+ puts format("#{color}%6.1f%%#{reset} (%4d/%4d) %s", r[:pct], r[:covered], r[:total], r[:path])
35
+ end
36
+
37
+ puts "\n\nFiles with highest coverage:\n\n"
38
+ results.sort_by { |r| -r[:pct] }.first(10).each do |r|
39
+ color = "\e[32m"
40
+ reset = "\e[0m"
41
+ puts format("#{color}%6.1f%%#{reset} (%4d/%4d) %s", r[:pct], r[:covered], r[:total], r[:path])
42
+ end
43
+
44
+ total_lines = results.sum { |r| r[:total] }
45
+ total_covered = results.sum { |r| r[:covered] }
46
+ overall_pct = (total_covered * 100.0 / total_lines).round(2)
47
+
48
+ puts "\n\n=== Overall Coverage ===\n"
49
+ puts format('Total: %.2f%% (%d/%d lines)', overall_pct, total_covered, total_lines)
data/test_daemon.sh ADDED
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Test daemon mode
4
+ echo "Starting twirl daemon..."
5
+ ./bin/prg twirl --daemon-as test_twirl &
6
+ sleep 2
7
+
8
+ echo "Checking if daemon is running..."
9
+ ps aux | grep "[p]rg twirl" || echo "No daemon found"
10
+
11
+ echo "Checking PID files..."
12
+ ls -la ~/.prg/*.pid 2>/dev/null || echo "No PID files found"
13
+
14
+ echo "Stopping daemon..."
15
+ ./bin/prg job send --daemon-name test_twirl
16
+ sleep 1
17
+
18
+ echo "Checking if daemon stopped..."
19
+ ps aux | grep "[p]rg twirl" || echo "Daemon stopped successfully"
20
+ ls -la ~/.prg/*.pid 2>/dev/null || echo "PID files cleaned up"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-progress
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra
@@ -10,47 +10,61 @@ cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: rake
13
+ name: tty-cursor
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '13.0'
19
- type: :development
18
+ version: '0.7'
19
+ type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '13.0'
25
+ version: '0.7'
26
26
  - !ruby/object:Gem::Dependency
27
- name: rspec
27
+ name: tty-screen
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '3.0'
32
+ version: '0.8'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.8'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rake
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '13.0'
33
47
  type: :development
34
48
  prerelease: false
35
49
  version_requirements: !ruby/object:Gem::Requirement
36
50
  requirements:
37
51
  - - "~>"
38
52
  - !ruby/object:Gem::Version
39
- version: '3.0'
53
+ version: '13.0'
40
54
  - !ruby/object:Gem::Dependency
41
- name: rubocop
55
+ name: rspec
42
56
  requirement: !ruby/object:Gem::Requirement
43
57
  requirements:
44
58
  - - "~>"
45
59
  - !ruby/object:Gem::Version
46
- version: '1.21'
60
+ version: '3.0'
47
61
  type: :development
48
62
  prerelease: false
49
63
  version_requirements: !ruby/object:Gem::Requirement
50
64
  requirements:
51
65
  - - "~>"
52
66
  - !ruby/object:Gem::Version
53
- version: '1.21'
67
+ version: '3.0'
54
68
  - !ruby/object:Gem::Dependency
55
69
  name: simplecov
56
70
  requirement: !ruby/object:Gem::Requirement
@@ -84,9 +98,11 @@ files:
84
98
  - ".rubocop.yml"
85
99
  - ".rubocop_todo.yml"
86
100
  - CHANGELOG.md
101
+ - DAEMON_MODE.md
87
102
  - DEMO_SCRIPTS.md
88
103
  - Gemfile
89
104
  - Gemfile.lock
105
+ - JOB_CLI_REFACTOR.md
90
106
  - LICENSE
91
107
  - README.md
92
108
  - Rakefile
@@ -126,8 +142,12 @@ files:
126
142
  - lib/ruby-progress/worm.rb
127
143
  - quick_demo.rb
128
144
  - readme_demo.rb
145
+ - ruby-progress.gemspec
129
146
  - screencast
147
+ - screencast.svg
148
+ - scripts/coverage_analysis.rb
130
149
  - scripts/run_matrix_mise.fish
150
+ - test_daemon.sh
131
151
  - test_daemon_interruption.rb
132
152
  - test_daemon_orphan.rb
133
153
  - test_worm_flags.rb