hiiro 0.1.40 → 0.1.41

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dcba21a820960e1cd8ff27088a1f2cfa84491c57d8fc88e72b5f33d33ffe5c5a
4
- data.tar.gz: 2e29bca429cf7c535dc7a43da8527c256dfb3daa6926fe32fd45c7a8521f291d
3
+ metadata.gz: 35e9881c522ce2cbf303064ea29ba0f3bb667d1371ffde913669ed04bcc19db0
4
+ data.tar.gz: 4abad9761a4a9770035b3b38ea0cbe5309d346b77a8b8c8d984aa428e89f238e
5
5
  SHA512:
6
- metadata.gz: 86e19eab7f0692c0731830e573effda69924fc77da6311fe4b698e1fd773634f88a6eef95a1f8f6b5ed2ddfef6eb806fbbe824157ce6772d26191c707f3addb1
7
- data.tar.gz: 95be0da227797b5e05c81e6ab5cc719fa91d415345c032a04efa634f9037381df168895a88629d927cd69442055f263f127c40929453e9f66f77cc3899a6a658
6
+ metadata.gz: d753ea14cec821cb45b74977888a640abea42331764c598a4f6dc387efaae3f44892ed3c3bef8ec5bed59362d96ab7767e2337d8537859a80bae8c27cbde24e0
7
+ data.tar.gz: 77aa3de52e3bcaeb716a1fa79072e2f394102275a6c0cc9b2f9ef1cdd5abf4ae6a44811825d30994ff2912dcb6310feb4d7886e59f97af77b3d0bf943489ac3c
data/lib/hiiro/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Hiiro
2
- VERSION = "0.1.40"
2
+ VERSION = "0.1.41"
3
3
  end
data/plugins/tasks.rb CHANGED
@@ -286,6 +286,26 @@ class TaskManager
286
286
  return YAML.safe_load_file(tasks_file) || { 'tasks' => [] }
287
287
  end
288
288
 
289
+ # Load from individual task_*.yml files
290
+ task_files = Dir.glob(File.join(File.dirname(tasks_file), 'task_*.yml'))
291
+ if task_files.any?
292
+ tasks = task_files.map do |file|
293
+ short_name = File.basename(file, '.yml').sub(/^task_/, '')
294
+ data = YAML.safe_load_file(file) || {}
295
+ # Support parent key for subtasks, or infer from tree path
296
+ parent = data['parent']
297
+ if parent.nil? && data['tree']&.include?('/')
298
+ parent = data['tree'].split('/').first
299
+ end
300
+ name = parent ? "#{parent}/#{short_name}" : short_name
301
+ h = { 'name' => name }
302
+ h['tree'] = data['tree'] if data['tree']
303
+ h['session'] = data['session'] if data['session']
304
+ h
305
+ end
306
+ return { 'tasks' => tasks }
307
+ end
308
+
289
309
  assignments_file = File.join(File.dirname(tasks_file), 'assignments.yml')
290
310
  if File.exist?(assignments_file)
291
311
  raw = YAML.safe_load_file(assignments_file) || {}
@@ -652,7 +672,9 @@ class TaskManager
652
672
  # --- Interactive selection with sk ---
653
673
 
654
674
  def select_task_interactive(prompt = nil)
655
- names = tasks.map { |t| scope == :subtask ? t.short_name : t.name }
675
+ # Include all tasks (top-level and subtasks) in selection
676
+ all = environment.all_tasks
677
+ names = all.map(&:name)
656
678
  return nil if names.empty?
657
679
 
658
680
  sk_select(names)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiiro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.40
4
+ version: 0.1.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Toyota