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

valkyrjaio / sindri-php / 24911376532 / 1
100%
26.x: 100%

Build:
DEFAULT BRANCH: 26.x
Ran 24 Apr 2026 08:53PM UTC
Files 79
Run time 1s
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

24 Apr 2026 08:53PM UTC coverage: 100.0%. Remained the same
24911376532.1

push

github

web-flow
[Ast] Extract CLI/HTTP Route Parameter and Middleware Readers (#27)

# Description

Splits `CliRouteAttributeReader` and `HttpRouteAttributeReader` by
extracting cohesive method groups into three dedicated injectable reader
classes, each backed by a contract. Constructor injection with defaulted
`new XxxReader()` arguments means all existing call sites require no
changes.

## Types of Changes

- [x] Improvement _(non-breaking change which improves code)_
- [ ] Bug fix _(non-breaking change which fixes an issue)_
- [ ] New feature _(non-breaking change which adds functionality)_
- [ ] Deprecation _(breaking change which removes functionality)_
- [ ] Breaking change _(fix or feature that would cause existing
functionality to change)_
- [ ] Documentation improvement

---

## Changes

### New Contracts

- **`CliRouteParameterReaderContract`** — `buildParameterArgs()`,
`updateArguments()`, `updateOptions()`
- **`HttpRouteParameterReaderContract`** — `updateParameters()`,
`buildParameterListExpr()`
- **`HttpRouteMiddlewareReaderContract`** —
`extractInlineRequestMethods()`, `updateRequestMethods()`,
`updateMiddleware()`, `updateRequestStruct()`, `updateResponseStruct()`,
`buildRouteMiddlewareArgs()`, `buildRouteStructArgs()`

### New Classes

Each extends `AstReader` and implements its corresponding contract:

- **`CliRouteParameterReader`** — argument/option parameter reading and
expr building
- **`HttpRouteParameterReader`** — URL parameter reading and expr
building
- **`HttpRouteMiddlewareReader`** — middleware, request methods, and
struct reading and expr building

### Updated Readers

- **`CliRouteAttributeReader`** — 8 methods removed;
`buildRouteMiddlewareArgs()` simplified from complexity 7 (B) to 5 (A)
by delegating arguments/options to
`parameterReader->buildParameterArgs()`
- **`HttpRouteAttributeReader`** — 16 methods removed; thin
`updateParameters()` delegate retained for test compatibility

1523 of 1523 relevant lines covered (100.0%)

16.31 hits per line

Source Files on job 24911376532.1
  • Tree
  • List 79
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 24911376532
  • 4143e46a on github
  • Prev Job for on 26.x (#24907639395.1)
  • Next Job for on 26.x (#24914463087.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc