Class: Ace::Review::Molecules::TaskResolver
- Inherits:
-
Object
- Object
- Ace::Review::Molecules::TaskResolver
- Defined in:
- lib/ace/review/molecules/task_resolver.rb
Overview
Resolve task references to task directory paths using ace-task
Class Method Summary collapse
-
.resolve(task_reference) ⇒ Hash?
Resolve a task reference to its directory path.
Class Method Details
.resolve(task_reference) ⇒ Hash?
Resolve a task reference to its directory path
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/ace/review/molecules/task_resolver.rb', line 11 def self.resolve(task_reference) # Try to load ace-task begin require "ace/task" require "ace/task/organisms/task_manager" rescue LoadError return nil end # Use TaskManager to find the task task_manager = Ace::Task::Organisms::TaskManager.new task = task_manager.show(task_reference) return nil unless task # Extract task directory from task object task_dir = task.path return nil unless task_dir.to_s.strip != "" { path: task_dir, spec_path: task.file_path, task_id: task.id } rescue Ace::Task::Error => e # Handle known ace-task errors warn "Warning: Task '#{task_reference}' could not be resolved: #{e.}" nil rescue => e # Graceful degradation for unexpected errors warn "Warning: Failed to resolve task '#{task_reference}': #{e.class} - #{e.}" warn e.backtrace.join("\n") if $DEBUG nil end |