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

MushroomObserver / mushroom-observer / 26519536024 / 1
97%
main: 97%

Build:
DEFAULT BRANCH: main
Ran 27 May 2026 03:07PM UTC
Files 1018
Run time 58s
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

27 May 2026 03:02PM UTC coverage: 96.448% (+0.01%) from 96.436%
26519536024.1

push

github

web-flow
Centralize helper registrations + flatten Phlex view namespaces (#4376)

Three threads in one cleanup:

1. **Tabs auto-include in `Views::Base`.** A `to_prepare` hook in
   `config/initializers/phlex.rb` includes every top-level
   `Tabs::*Helper` module into `Views::Base` after eager-load (prod)
   or on every reload (dev). View classes can now call any tab
   builder (`object_return_tab`, `species_lists_index_tabs`, etc.)
   directly — no `helpers.*` proxy, no per-class
   `register_value_helper`. Nested modules under
   `Tabs::Sidebar::*`, `Tabs::Locations::*`, etc. stay scoped to
   their existing callers.

2. **Drop redundant helper registrations** across 21 view + 3
   component files. The registrations were all already inherited:
   - `q_param`, `add_q_param`, `url_for`, `permission?`,
     `link_to_object`, `user_link`, `location_link`, `help_block`,
     `link_icon`, and 17 others — already on `Components::Base`.
   - `add_page_title`, `add_new_title`, `add_edit_title`,
     `add_context_nav`, `add_project_banner`, `container_class`,
     `content_for` — already on `Views::Base`.
   - All `*_path` and `*_url` named-route helpers — provided by
     `Phlex::Rails::Helpers::Routes` (already in `Components::Base`).
   - `asset_path` — provided by `Phlex::Rails::Helpers::AssetPath`.
   - `*_tabs` and `object_return_tab` — auto-included via the new
     Tabs hook above.

3. **Flatten deep-nested namespaces** in 17 Phlex view files. Per
   `.claude/rules/phlex_conversions.md`'s "Collapse deep namespaces"
   section, the four-level `module Views / module Controllers /
   module X / module Y / class Z` form gets rewritten as
   `module Views::Controllers::X::Y / class Z`. Body indentation
   shifts left by the appropriate amount; trailing `end`s drop to
   match.

Plus one small inline: `project_alias_headers` (a one-line constant
array of localized strings) was registered on
`Views::Controllers::Projects::Aliases::Index` — moved into the
view as a pr... (continued)

39097 of 40537 relevant lines covered (96.45%)

666.27 hits per line

Source Files on job 26519536024.1
  • Tree
  • List 1018
  • Changed 27
  • Source Changed 27
  • Coverage Changed 27
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 26519536024
  • 9fd57abe on github
  • Prev Job for on main (#26519524675.1)
  • Next Job for on main (#26519758644.1)
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