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

ruby-grape / grape / 28924633946
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: robust_mounted_app_comparison
DEFAULT BRANCH: master
Ran 08 Jul 2026 07:13AM UTC
Jobs 32
Files 167
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

08 Jul 2026 07:13AM UTC coverage: 96.665% (+0.004%) from 96.661%
28924633946

push

github

ericproulx
Compare the base API, not to_s, when refreshing a mounted app

`refresh_already_mounted` deduplicates endpoints for the "same" mounted
app by comparing `endpoint.mounted_app.to_s == app.to_s`. That only works
by accident: `mount` turns every mounted Grape API into a throwaway
`mount_instance` (a fresh `Class.new(@base_parent)` per mount), so two
mounts of the same API are distinct objects, and `Grape::API::Instance`
delegates `to_s` to its `@base` (the original API). The comparison is
really "same base API", done through a string proxy -- brittle (two APIs
that happen to share a name collide) and unclear.

Expose the base API via a reader and compare it by identity instead. Plain
Rack apps have no base and are mounted as-is, so they fall back to object
identity.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

1129 of 1224 branches covered (92.24%)

Branch coverage included in aggregate %.

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

3595 of 3663 relevant lines covered (98.14%)

23333.96 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-4.0-gemfiles/multi_xml_0_8.gemfile - 28924633946.1 08 Jul 2026 07:13AM UTC 166
47.08
GitHub Action Run
2 run-4.0-gemfiles/rack_3_0.gemfile - 28924633946.2 08 Jul 2026 07:13AM UTC 166
95.21
GitHub Action Run
3 run-4.0-gemfiles/dry_validation.gemfile - 28924633946.3 08 Jul 2026 07:13AM UTC 166
58.23
GitHub Action Run
4 run-4.0-gemfiles/rails_8_1.gemfile - 28924633946.4 08 Jul 2026 07:13AM UTC 167
95.21
GitHub Action Run
5 run-3.4-gemfiles/rack_3_0.gemfile - 28924633946.5 08 Jul 2026 07:13AM UTC 166
95.21
GitHub Action Run
6 run-4.0-gemfiles/rails_7_2.gemfile - 28924633946.6 08 Jul 2026 07:14AM UTC 167
95.21
GitHub Action Run
7 run-3.3-gemfiles/rack_3_2.gemfile - 28924633946.7 08 Jul 2026 07:13AM UTC 166
95.2
GitHub Action Run
8 run-3.4-Gemfile - 28924633946.8 08 Jul 2026 07:14AM UTC 166
95.21
GitHub Action Run
9 run-4.0-gemfiles/rails_8_0.gemfile - 28924633946.9 08 Jul 2026 07:13AM UTC 167
95.21
GitHub Action Run
10 run-4.0-gemfiles/multi_json_1_20.gemfile - 28924633946.10 08 Jul 2026 07:14AM UTC 166
47.61
GitHub Action Run
11 run-3.3-gemfiles/rack_3_1.gemfile - 28924633946.11 08 Jul 2026 07:13AM UTC 166
95.2
GitHub Action Run
12 run-3.4-gemfiles/rack_2_2.gemfile - 28924633946.12 08 Jul 2026 07:14AM UTC 166
95.16
GitHub Action Run
13 run-4.0-gemfiles/rack_3_2.gemfile - 28924633946.13 08 Jul 2026 07:14AM UTC 166
95.21
GitHub Action Run
14 run-3.4-gemfiles/rails_8_0.gemfile - 28924633946.14 08 Jul 2026 07:13AM UTC 167
95.21
GitHub Action Run
15 run-4.0-gemfiles/hashie.gemfile - 28924633946.15 08 Jul 2026 07:14AM UTC 166
62.36
GitHub Action Run
16 run-3.3-gemfiles/rails_8_0.gemfile - 28924633946.16 08 Jul 2026 07:13AM UTC 167
95.21
GitHub Action Run
17 run-4.0-gemfiles/multi_xml.gemfile - 28924633946.17 08 Jul 2026 07:13AM UTC 166
47.04
GitHub Action Run
18 run-3.4-gemfiles/rails_7_2.gemfile - 28924633946.18 08 Jul 2026 07:13AM UTC 167
95.21
GitHub Action Run
19 run-3.3-Gemfile - 28924633946.19 08 Jul 2026 07:14AM UTC 166
95.2
GitHub Action Run
20 run-3.3-gemfiles/rails_7_2.gemfile - 28924633946.20 08 Jul 2026 07:14AM UTC 167
95.21
GitHub Action Run
21 run-3.3-gemfiles/rack_2_2.gemfile - 28924633946.21 08 Jul 2026 07:14AM UTC 166
95.16
GitHub Action Run
22 run-4.0-gemfiles/grape_swagger.gemfile - 28924633946.22 08 Jul 2026 07:13AM UTC 166
55.23
GitHub Action Run
23 run-4.0-gemfiles/grape_entity.gemfile - 28924633946.23 08 Jul 2026 07:14AM UTC 166
50.36
GitHub Action Run
24 run-4.0-gemfiles/rack_3_1.gemfile - 28924633946.24 08 Jul 2026 07:13AM UTC 166
95.21
GitHub Action Run
25 run-4.0-gemfiles/multi_json.gemfile - 28924633946.25 08 Jul 2026 07:13AM UTC 166
47.57
GitHub Action Run
26 run-3.4-gemfiles/rails_8_1.gemfile - 28924633946.26 08 Jul 2026 07:14AM UTC 167
95.21
GitHub Action Run
27 run-3.4-gemfiles/rack_3_1.gemfile - 28924633946.27 08 Jul 2026 07:13AM UTC 166
95.21
GitHub Action Run
28 run-4.0-Gemfile - 28924633946.28 08 Jul 2026 07:14AM UTC 166
95.21
GitHub Action Run
29 run-3.4-gemfiles/rack_3_2.gemfile - 28924633946.29 08 Jul 2026 07:13AM UTC 166
95.21
GitHub Action Run
30 run-3.3-gemfiles/rack_3_0.gemfile - 28924633946.30 08 Jul 2026 07:14AM UTC 166
95.2
GitHub Action Run
31 run-3.3-gemfiles/rails_8_1.gemfile - 28924633946.31 08 Jul 2026 07:13AM UTC 167
95.21
GitHub Action Run
32 run-4.0-gemfiles/rack_2_2.gemfile - 28924633946.32 08 Jul 2026 07:13AM UTC 166
95.16
GitHub Action Run
Source Files on build 28924633946
  • Tree
  • List 167
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28924633946
  • 90344ffd on github
  • Prev Build on master (#28782563800)
  • Next Build on robust_mounted_app_comparison (#28924669170)
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