module

Sheety::Pipeline

Shared implementation of the "turn spreadsheet data into a compiled binary" flow. The CLI launch path and the TUI's in-process rebuilder previously carried near-identical copies of this (hash -> paths -> generator wiring -> generate -> write -> compile); both now go through here so they can't drift apart again.

Class methods

build(data : Spreadsheet::WorkbookData, spreadsheet_uuid : String, file_hash : String, source_file : String, tui_intermediate_file : String | Nil = nil, original_filename : String | Nil = nil) : String

Generate the Crystal source for data and compile it. Returns the path of the fresh binary.

  • source_file is the YAML the generated TUI restores UI state from (usually the intermediate file).
  • tui_intermediate_file is where the generated TUI auto-saves formula edits; nil means the generated program uses source_file for that.
  • original_filename is the user-facing file saves go to.
Source
intermediate_file(spreadsheet_uuid : String) : String

The UUID-keyed intermediate YAML: the copy of the spreadsheet that formula-edit auto-saves go to, so state survives rebuilds.

Source
paths(file_hash : String, spreadsheet_uuid : String) : BuildPaths
Source

Nested types