Class: OmnifocusMcp::Tools::Operations::BatchAddItems::CycleDetector
- Inherits:
-
Object
- Object
- OmnifocusMcp::Tools::Operations::BatchAddItems::CycleDetector
- Defined in:
- lib/omnifocus_mcp/tools/operations/batch_add_items/cycle_detector.rb
Overview
DFS over a temp_id -> parent_temp_id graph; collects a message for every temp_id participating in any cycle.
Instance Method Summary collapse
- #detect ⇒ Object
-
#initialize(temp_index) ⇒ CycleDetector
constructor
A new instance of CycleDetector.
Constructor Details
#initialize(temp_index) ⇒ CycleDetector
Returns a new instance of CycleDetector.
13 14 15 16 17 18 19 20 |
# File 'lib/omnifocus_mcp/tools/operations/batch_add_items/cycle_detector.rb', line 13 def initialize(temp_index) @temp_index = temp_index @visiting = Set.new @visited = Set.new @in_cycle = Set.new @stack = [] @messages = {} end |
Instance Method Details
#detect ⇒ Object
22 23 24 25 |
# File 'lib/omnifocus_mcp/tools/operations/batch_add_items/cycle_detector.rb', line 22 def detect @temp_index.each_key { |tid| visit(tid) } @messages end |