Class: Textus::Store::Session

Inherits:
Dry::Struct
  • Object
show all
Defined in:
lib/textus/store/session.rb

Instance Method Summary collapse

Instance Method Details

#advance_cursor(new_cursor) ⇒ Object



19
# File 'lib/textus/store/session.rb', line 19

def advance_cursor(new_cursor) = with(cursor: new_cursor)

#check_etag!(observed_etag) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/textus/store/session.rb', line 21

def check_etag!(observed_etag)
  return if observed_etag == contract_etag

  raise Textus::ContractDrift.new(
    "contract changed (manifest/hooks/schemas were #{short_etag(contract_etag)}, " \
    "now #{short_etag(observed_etag)}); re-run boot",
  )
end

#with(**attrs) ⇒ Object



17
# File 'lib/textus/store/session.rb', line 17

def with(**attrs) = self.class.new(to_h.merge(attrs))