• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DerManoMann / openapi-introspector / 38677621870
98%

Build:
DEFAULT BRANCH: main
Ran 15 Oct 2026 03:43AM UTC
Jobs 1
Files 12
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Oct 2026 03:41AM UTC coverage: 96.049% (+0.3%) from 95.71%
38677621870

push

github

web-flow
Map route path parameters onto the attribute's placeholders by position (#5)

## Overview

Where a route names its placeholder differently from the attribute
(`/events/{event}` against `/events/{id}`), the route's parameter was
added beside the attribute's. The document then had a path parameter its
path does not contain, which makes it invalid. Laravel does this a lot:
`{event}` for route model binding, or `{integer}` when an app names
placeholders by type through `Route::pattern()`.

The two paths describe one endpoint, so the nth placeholder of one is
the nth of the other. Where the counts differ, only the names both use
are mapped. That covers an attribute writing a literal segment
(`/members/me`) for a route placeholder constrained to it.

## Changes

- `Introspector::complete()` maps the route's path parameters onto the
operation's placeholders by position, and adds none the operation's path
lacks
- `Introspector::routeOf()` picks among a handler's routes by exact path
first, then by shape
- `Routes::forKey()` falls back to the one route of the same shape when
no route has the exact path. Several routes of one shape (`{order_id}`
and `{hash}`, told apart by their constraints) are left alone rather
than merged
- `Routes::shapeOf()` and `Routes::placeholdersOf()`
- `FoldTest` covers a renamed placeholder with and without the attribute
declaring it, a placeholder the attribute's path lacks, an operation on
another method, and two routes of one shape

29 of 29 new or added lines in 2 files covered. (100.0%)

316 of 329 relevant lines covered (96.05%)

13.53 hits per line

Jobs
ID Job ID Ran Files Coverage
1 38677621870.1 15 Oct 2026 03:43AM UTC 12
96.05
GitHub Action Run
Source Files on build 38677621870
  • Tree
  • List 12
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 0143eca1 on github
  • Prev Build on main (#38677560655)
  • Next Build on main (#38677948919)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc