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) |