Skip to content

Register routes from the reachable pragmas, not the presenter's own - #8

Merged
noha merged 1 commit into
mainfrom
fix/register-routes-from-reachable-pragmas
Sep 3, 2026
Merged

noha merged 1 commit into
mainfrom
fix/register-routes-from-reachable-pragmas

Conversation

@noha

@noha noha commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Route registration and link serialisation ask different questions of the same presenter. A variable segment has to register a route for every operation any specialisation under the base class may expose, long before it is known which concrete presenter serves a request - that is reachability. Serialising an object's _links asks what that one presenter offers, and gates it through isAllowed:.

Both went through #allLinksPragmas, which collected over the whole subtree. Point route registration at #reachableLinkPragmas instead, which names the reachability question explicitly, so #allLinksPragmas is free to mean ordinary inheritance.

No behaviour change on its own: #reachableLinkPragmas collects the same subtree #allLinksPragmas did.

Route registration and link serialisation ask different questions of the
same presenter. A variable segment has to register a route for every
operation any specialisation under the base class may expose, long before
it is known which concrete presenter serves a request - that is
reachability. Serialising an object's _links asks what that one presenter
offers, and gates it through isAllowed:.

Both went through #allLinksPragmas, which collected over the whole
subtree. Point route registration at #reachableLinkPragmas instead, which
names the reachability question explicitly, so #allLinksPragmas is free to
mean ordinary inheritance.

No behaviour change on its own: #reachableLinkPragmas collects the same
subtree #allLinksPragmas did.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@noha
noha merged commit 16da371 into main Sep 3, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant