Class: Dms::UnorderedHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/dms/types.rb

Overview

Marker subclass of Hash for unordered tables (SPEC §“Unordered tables”). Built only by ‘Dms.decode_document_unordered` / `Dms.decode_lite_document_unordered` (and the `–ignore-order` CLI flag). Iteration order is arbitrary — keys are shuffled at end-of-build so callers cannot accidentally depend on insertion order.

Full-mode ‘Dms.encode` raises a `RuntimeError` on any tree containing an `UnorderedHash`; lite-mode `Dms.encode_lite` accepts them and emits in whatever iteration order they expose.