rufio 0.41.0 → 0.60.0

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +96 -194
  4. data/bin/rufio +0 -3
  5. data/docs/CHANGELOG_v0.50.0.md +128 -0
  6. data/examples/config.yml +8 -0
  7. data/lib/rufio/builtin_commands.rb +34 -0
  8. data/lib/rufio/command_completion.rb +20 -5
  9. data/lib/rufio/command_mode.rb +157 -46
  10. data/lib/rufio/config_loader.rb +37 -0
  11. data/lib/rufio/dsl_command.rb +120 -0
  12. data/lib/rufio/dsl_command_loader.rb +177 -0
  13. data/lib/rufio/interpreter_resolver.rb +79 -0
  14. data/lib/rufio/job_manager.rb +128 -0
  15. data/lib/rufio/job_mode.rb +146 -0
  16. data/lib/rufio/keybind_handler.rb +243 -232
  17. data/lib/rufio/notification_manager.rb +77 -0
  18. data/lib/rufio/script_config_loader.rb +101 -0
  19. data/lib/rufio/script_executor.rb +253 -0
  20. data/lib/rufio/script_path_manager.rb +386 -0
  21. data/lib/rufio/script_runner.rb +216 -0
  22. data/lib/rufio/task_status.rb +118 -0
  23. data/lib/rufio/terminal_ui.rb +181 -495
  24. data/lib/rufio/version.rb +1 -1
  25. data/lib/rufio.rb +15 -11
  26. data/scripts/test_jobs/build_simulation.sh +29 -0
  27. data/scripts/test_jobs/deploy_simulation.sh +37 -0
  28. data/scripts/test_jobs/quick.sh +11 -0
  29. data/scripts/test_jobs/random_result.sh +23 -0
  30. data/scripts/test_jobs/slow_fail.sh +10 -0
  31. data/scripts/test_jobs/slow_success.sh +10 -0
  32. data/scripts/test_jobs/very_slow.sh +19 -0
  33. metadata +23 -13
  34. data/docs/file-preview-optimization-analysis.md +0 -759
  35. data/docs/file-preview-performance-issue-FIXED.md +0 -547
  36. data/lib/rufio/plugin.rb +0 -89
  37. data/lib/rufio/plugin_config.rb +0 -59
  38. data/lib/rufio/plugin_manager.rb +0 -84
  39. data/lib/rufio/plugins/file_operations.rb +0 -44
  40. data/lib/rufio/plugins/hello.rb +0 -30
  41. data/lib/rufio/plugins/stop.rb +0 -32
  42. data/lib/rufio/project_command.rb +0 -147
  43. data/lib/rufio/project_log.rb +0 -68
  44. data/lib/rufio/project_mode.rb +0 -58
data/lib/rufio/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rufio
4
- VERSION = '0.41.0'
4
+ VERSION = '0.60.0'
5
5
  end
data/lib/rufio.rb CHANGED
@@ -21,10 +21,13 @@ require_relative "rufio/application"
21
21
  require_relative "rufio/file_opener"
22
22
  require_relative "rufio/health_checker"
23
23
 
24
- # プラグインシステム
25
- require_relative "rufio/plugin_config"
26
- require_relative "rufio/plugin"
27
- require_relative "rufio/plugin_manager"
24
+ # DSLコマンドシステム
25
+ require_relative "rufio/interpreter_resolver"
26
+ require_relative "rufio/dsl_command"
27
+ require_relative "rufio/script_executor"
28
+ require_relative "rufio/dsl_command_loader"
29
+ require_relative "rufio/builtin_commands"
30
+
28
31
  require_relative "rufio/command_mode"
29
32
  require_relative "rufio/command_mode_ui"
30
33
  require_relative "rufio/command_history"
@@ -40,13 +43,14 @@ require_relative "rufio/parallel_scanner"
40
43
  require_relative "rufio/screen"
41
44
  require_relative "rufio/renderer"
42
45
 
43
- # プロジェクトモード
44
- require_relative "rufio/project_mode"
45
- require_relative "rufio/project_command"
46
- require_relative "rufio/project_log"
47
-
48
- # プラグインをロード
49
- Rufio::PluginManager.load_all
46
+ # ジョブ管理システム
47
+ require_relative "rufio/task_status"
48
+ require_relative "rufio/notification_manager"
49
+ require_relative "rufio/job_manager"
50
+ require_relative "rufio/job_mode"
51
+ require_relative "rufio/script_runner"
52
+ require_relative "rufio/script_path_manager"
53
+ require_relative "rufio/script_config_loader"
50
54
 
51
55
  module Rufio
52
56
  class Error < StandardError; end
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+ # ビルドシミュレーション(20秒)
3
+
4
+ echo "=== Build Simulation ==="
5
+ echo ""
6
+
7
+ echo "[1/5] Compiling sources..."
8
+ sleep 4
9
+ echo " ✓ 42 files compiled"
10
+
11
+ echo "[2/5] Running linter..."
12
+ sleep 3
13
+ echo " ✓ No issues found"
14
+
15
+ echo "[3/5] Running tests..."
16
+ sleep 5
17
+ echo " ✓ 128 tests passed"
18
+
19
+ echo "[4/5] Building assets..."
20
+ sleep 4
21
+ echo " ✓ Assets bundled (2.3 MB)"
22
+
23
+ echo "[5/5] Creating package..."
24
+ sleep 4
25
+ echo " ✓ Package created: build/app-1.0.0.tar.gz"
26
+
27
+ echo ""
28
+ echo "=== Build completed successfully ==="
29
+ exit 0
@@ -0,0 +1,37 @@
1
+ #!/bin/bash
2
+ # デプロイシミュレーション(25秒)
3
+
4
+ echo "=== Deploy Simulation ==="
5
+ echo ""
6
+
7
+ echo "[1/6] Connecting to server..."
8
+ sleep 3
9
+ echo " ✓ Connected to production-01"
10
+
11
+ echo "[2/6] Backing up current version..."
12
+ sleep 4
13
+ echo " ✓ Backup created: backup-20240124-153000.tar.gz"
14
+
15
+ echo "[3/6] Uploading new version..."
16
+ for i in {1..5}; do
17
+ echo " Uploading... $((i * 20))%"
18
+ sleep 1
19
+ done
20
+ echo " ✓ Upload complete"
21
+
22
+ echo "[4/6] Installing dependencies..."
23
+ sleep 4
24
+ echo " ✓ Dependencies installed"
25
+
26
+ echo "[5/6] Running migrations..."
27
+ sleep 3
28
+ echo " ✓ 3 migrations applied"
29
+
30
+ echo "[6/6] Restarting services..."
31
+ sleep 2
32
+ echo " ✓ Services restarted"
33
+
34
+ echo ""
35
+ echo "=== Deploy completed successfully ==="
36
+ echo "URL: https://app.example.com"
37
+ exit 0
@@ -0,0 +1,11 @@
1
+ #!/bin/bash
2
+ # すぐ終わるジョブ(3秒)
3
+
4
+ echo "Quick job starting..."
5
+ sleep 1
6
+ echo "Almost done..."
7
+ sleep 1
8
+ echo "Finishing up..."
9
+ sleep 1
10
+ echo "Done!"
11
+ exit 0
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+ # ランダムに成功・失敗するジョブ(5-15秒)
3
+
4
+ duration=$((RANDOM % 11 + 5))
5
+ result=$((RANDOM % 2))
6
+
7
+ echo "Random job started"
8
+ echo "Duration: ${duration} seconds"
9
+ echo "Will $([ $result -eq 0 ] && echo 'succeed' || echo 'fail')"
10
+ echo ""
11
+
12
+ for i in $(seq 1 $duration); do
13
+ echo "Tick $i..."
14
+ sleep 1
15
+ done
16
+
17
+ if [ $result -eq 0 ]; then
18
+ echo "Success!"
19
+ exit 0
20
+ else
21
+ echo "Failed!"
22
+ exit 1
23
+ fi
@@ -0,0 +1,10 @@
1
+ #!/bin/bash
2
+ # 失敗する長時間ジョブ(7秒後に失敗)
3
+
4
+ echo "Starting job that will fail..."
5
+ for i in {1..7}; do
6
+ echo "Working on step $i..."
7
+ sleep 1
8
+ done
9
+ echo "ERROR: Something went wrong!"
10
+ exit 1
@@ -0,0 +1,10 @@
1
+ #!/bin/bash
2
+ # 成功する長時間ジョブ(10秒)
3
+
4
+ echo "Starting slow job..."
5
+ for i in {1..10}; do
6
+ echo "Processing step $i/10..."
7
+ sleep 1
8
+ done
9
+ echo "Job completed successfully!"
10
+ exit 0
@@ -0,0 +1,19 @@
1
+ #!/bin/bash
2
+ # とても長いジョブ(30秒)
3
+
4
+ echo "Starting very slow job..."
5
+ echo "This will take about 30 seconds."
6
+ echo ""
7
+
8
+ for i in {1..30}; do
9
+ percent=$((i * 100 / 30))
10
+ bar=""
11
+ for j in $(seq 1 $((i / 3))); do bar="${bar}█"; done
12
+ for j in $(seq 1 $((10 - i / 3))); do bar="${bar}░"; done
13
+ printf "\r[%s] %d%% - %d/30 seconds" "$bar" "$percent" "$i"
14
+ sleep 1
15
+ done
16
+
17
+ echo ""
18
+ echo "Very slow job completed!"
19
+ exit 0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rufio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.41.0
4
+ version: 0.60.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - masisz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-17 00:00:00.000000000 Z
11
+ date: 2026-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: io-console
@@ -134,12 +134,12 @@ files:
134
134
  - docs/CHANGELOG_v0.40.0.md
135
135
  - docs/CHANGELOG_v0.41.0.md
136
136
  - docs/CHANGELOG_v0.5.0.md
137
+ - docs/CHANGELOG_v0.50.0.md
137
138
  - docs/CHANGELOG_v0.6.0.md
138
139
  - docs/CHANGELOG_v0.7.0.md
139
140
  - docs/CHANGELOG_v0.8.0.md
140
141
  - docs/CHANGELOG_v0.9.0.md
141
- - docs/file-preview-optimization-analysis.md
142
- - docs/file-preview-performance-issue-FIXED.md
142
+ - examples/config.yml
143
143
  - info/help.md
144
144
  - info/keybindings.md
145
145
  - info/welcome.md
@@ -150,6 +150,7 @@ files:
150
150
  - lib/rufio/background_command_executor.rb
151
151
  - lib/rufio/bookmark.rb
152
152
  - lib/rufio/bookmark_manager.rb
153
+ - lib/rufio/builtin_commands.rb
153
154
  - lib/rufio/color_helper.rb
154
155
  - lib/rufio/command_completion.rb
155
156
  - lib/rufio/command_history.rb
@@ -160,31 +161,33 @@ files:
160
161
  - lib/rufio/config_loader.rb
161
162
  - lib/rufio/dialog_renderer.rb
162
163
  - lib/rufio/directory_listing.rb
164
+ - lib/rufio/dsl_command.rb
165
+ - lib/rufio/dsl_command_loader.rb
163
166
  - lib/rufio/file_opener.rb
164
167
  - lib/rufio/file_operations.rb
165
168
  - lib/rufio/file_preview.rb
166
169
  - lib/rufio/filter_manager.rb
167
170
  - lib/rufio/health_checker.rb
168
171
  - lib/rufio/info_notice.rb
172
+ - lib/rufio/interpreter_resolver.rb
173
+ - lib/rufio/job_manager.rb
174
+ - lib/rufio/job_mode.rb
169
175
  - lib/rufio/keybind_handler.rb
170
176
  - lib/rufio/logger.rb
171
177
  - lib/rufio/native/rufio_zig.bundle
172
178
  - lib/rufio/native_scanner.rb
173
179
  - lib/rufio/native_scanner_zig.rb
180
+ - lib/rufio/notification_manager.rb
174
181
  - lib/rufio/parallel_scanner.rb
175
- - lib/rufio/plugin.rb
176
- - lib/rufio/plugin_config.rb
177
- - lib/rufio/plugin_manager.rb
178
- - lib/rufio/plugins/file_operations.rb
179
- - lib/rufio/plugins/hello.rb
180
- - lib/rufio/plugins/stop.rb
181
- - lib/rufio/project_command.rb
182
- - lib/rufio/project_log.rb
183
- - lib/rufio/project_mode.rb
184
182
  - lib/rufio/renderer.rb
185
183
  - lib/rufio/screen.rb
184
+ - lib/rufio/script_config_loader.rb
185
+ - lib/rufio/script_executor.rb
186
+ - lib/rufio/script_path_manager.rb
187
+ - lib/rufio/script_runner.rb
186
188
  - lib/rufio/selection_manager.rb
187
189
  - lib/rufio/shell_command_completion.rb
190
+ - lib/rufio/task_status.rb
188
191
  - lib/rufio/terminal_ui.rb
189
192
  - lib/rufio/text_utils.rb
190
193
  - lib/rufio/version.rb
@@ -194,6 +197,13 @@ files:
194
197
  - lib_zig/rufio_native/src/main.zig
195
198
  - lib_zig/rufio_native/src/main.zig.sync
196
199
  - retag.sh
200
+ - scripts/test_jobs/build_simulation.sh
201
+ - scripts/test_jobs/deploy_simulation.sh
202
+ - scripts/test_jobs/quick.sh
203
+ - scripts/test_jobs/random_result.sh
204
+ - scripts/test_jobs/slow_fail.sh
205
+ - scripts/test_jobs/slow_success.sh
206
+ - scripts/test_jobs/very_slow.sh
197
207
  - test_delete/test1.txt
198
208
  - test_delete/test2.txt
199
209
  homepage: https://github.com/masisz/rufio