class

Hwaro::Logger::Receipt

Inherits Reference / Object

A calm, aligned summary block: a heading, key/value rows, and one ember outcome line, separated by blank lines instead of rules. Pure data → string, so it renders identically and testably without a live terminal. render_tty is emitted only when color is on; render_plain is the escape-free fallback for pipes / CI.

Constructors

new(kind : String, title : String | Nil = nil)
Source

Instance methods

emit(io : IO = Logger.io) : Nil

Print using the renderer that matches the current terminal.

Source
outcome(verb : String, value : String, glyph : Symbol = :result, ms : Float64 | Nil = nil) : self
Source
render_plain
Source
render_tty
Source
row(label : String, value : String, role : Role = Role::Plain, emphasis : String | Nil = nil, emphasis_role : Role = Role::Warn, detail : String | Nil = nil) : self

Append a key/value row. Skipped when empty so the summary never prints noise like "0 drafts". emphasis is an optional differently-colored suffix (e.g. a yellow "2 drafts skipped"). detail is an optional dim trailing note (e.g. a phase timing) rendered on the TTY only — plain output stays byte-identical for scripts that parse it.

Source