Class: Textus::Surface::MCP::CursorManager

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/surface/mcp/cursor_manager.rb

Instance Method Summary collapse

Constructor Details

#initialize(store:, role:) ⇒ CursorManager

Returns a new instance of CursorManager.



5
6
7
8
# File 'lib/textus/surface/mcp/cursor_manager.rb', line 5

def initialize(store:, role:)
  @store = store
  @role = role
end

Instance Method Details

#advance!(seq:) ⇒ Object



16
17
18
# File 'lib/textus/surface/mcp/cursor_manager.rb', line 16

def advance!(seq:)
  @store.advance_cursor(seq)
end

#resume!Object



10
11
12
13
14
# File 'lib/textus/surface/mcp/cursor_manager.rb', line 10

def resume!
  saved = @store.container.store.cursor_store.get(@role)[:seq]
  latest = @store.container.store.audit_log.latest[:seq]
  @store.advance_cursor(saved) if saved.positive? && saved <= latest
end