Module: Hecks::Projections::Shape

Extended by:
Hecks::Projector::Target
Defined in:
lib/hecks/projections/shape.rb

Overview

THE STORAGE SHAPE of one bluebook — the same structural form StorageShape.mint_hash hashes to name an era, which is what makes a bump/no-bump question answerable by diffing two of these.

THE RETROFIT, and the point of it: Runtime::StorageShape.project was written long before this framework existed, and it already takes exactly one bluebook, already returns a plain Hash, already touches no disk and no live runtime — it even already uses the word. Nothing about it was shaped to fit call(bluebook:, options:).

That it fits anyway, by a two-line keyword adapter and no change to StorageShape itself, is the evidence that the protocol is a real description of what projections do here rather than a shape fitted around its own first example (:ir, whose call is to_h, proves much less on its own).

Class Method Summary collapse

Methods included from Hecks::Projector::Target

projection_declares, projection_emits, projection_key, projection_requires, projects_as

Class Method Details

.call(bluebook:, options: {}) ⇒ Object



28
# File 'lib/hecks/projections/shape.rb', line 28

def call(bluebook:, options: {}) = Runtime::StorageShape.project(bluebook)