Class: Textus::MCP::Session
- Inherits:
-
Data
- Object
- Data
- Textus::MCP::Session
- Defined in:
- lib/textus/mcp/session.rb
Overview
Per-connection state held by the server. Immutable Data value; advance_cursor returns a new instance via #with.
Instance Attribute Summary collapse
-
#cursor ⇒ Object
readonly
Returns the value of attribute cursor.
-
#manifest_etag ⇒ Object
readonly
Returns the value of attribute manifest_etag.
-
#propose_zone ⇒ Object
readonly
Returns the value of attribute propose_zone.
-
#role ⇒ Object
readonly
Returns the value of attribute role.
Instance Method Summary collapse
Instance Attribute Details
#cursor ⇒ Object (readonly)
Returns the value of attribute cursor
5 6 7 |
# File 'lib/textus/mcp/session.rb', line 5 def cursor @cursor end |
#manifest_etag ⇒ Object (readonly)
Returns the value of attribute manifest_etag
5 6 7 |
# File 'lib/textus/mcp/session.rb', line 5 def manifest_etag @manifest_etag end |
#propose_zone ⇒ Object (readonly)
Returns the value of attribute propose_zone
5 6 7 |
# File 'lib/textus/mcp/session.rb', line 5 def propose_zone @propose_zone end |
#role ⇒ Object (readonly)
Returns the value of attribute role
5 6 7 |
# File 'lib/textus/mcp/session.rb', line 5 def role @role end |
Instance Method Details
#advance_cursor(new_cursor) ⇒ Object
6 |
# File 'lib/textus/mcp/session.rb', line 6 def advance_cursor(new_cursor) = with(cursor: new_cursor) |
#check_etag!(observed_etag) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/textus/mcp/session.rb', line 8 def check_etag!(observed_etag) return if observed_etag == manifest_etag raise ContractDrift.new( "manifest changed (was #{short_etag(manifest_etag)}, now #{short_etag(observed_etag)}); re-run boot", ) end |