Module: Textus::Protocol::StoreEngine::Delete
- Defined in:
- lib/textus/protocol/store_engine/delete.rb
Class Method Summary collapse
- .append_audit(key, etag_before, deps) ⇒ Object
- .assert_exists!(key, path, deps) ⇒ Object
- .call(key, deps:, if_etag: nil) ⇒ Object
Class Method Details
.append_audit(key, etag_before, deps) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/textus/protocol/store_engine/delete.rb', line 27 def append_audit(key, etag_before, deps) deps.audit_log.append( role: deps.call.role, verb: "key_delete", key:, etag_before:, etag_after: nil, correlation_id: deps.call.correlation_id ) end |
.assert_exists!(key, path, deps) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/textus/protocol/store_engine/delete.rb', line 20 def assert_exists!(key, path, deps) return if deps.file_system.exists?(path) raise Textus::UnknownKey.new(key, suggestions: deps.manifest.resolver.suggestions_for(key)) end |
.call(key, deps:, if_etag: nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/textus/protocol/store_engine/delete.rb', line 7 def call(key, deps:, if_etag: nil) path = Pipeline.resolve_path(key, deps) assert_exists!(key, path, deps) etag_before = Pipeline.check_etag(key, path, if_etag, deps.file_system) deps.file_system.delete(path) deps.entry_index.remove(key:) Pipeline.prune_parents(path, deps) append_audit(key, etag_before, deps) Pipeline.emit_event(deps, event_type: "entry.deleted", pending_key: key, emit_key: key) nil end |