Skip to content

Commit 5997b04

Browse files
committed
ogar-from-rails: DO arm mirrors controllers verbatim + re-export (no singulariser)
Delete the singulariser entirely. It was inventing a namespace out of string-munged controller names — arbitrary, lossy (English plurals aren't invertible by heuristic: `Searches → searche`, `Capabilities → capabilitie`), and irreversible. The controller's own name IS the faithful identity; the semantics live in the classid, not in a prettified string. The DO arm is now a faithful `controllers` module that mirrors `app/controllers/` 1:1: - `container_of` snake-cases the controller stem **verbatim**, no singularisation: `NodesController → nodes`, `MapsController → maps`, `SearchesController → searches`, `ChangesetCommentsController → changeset_comments`. Reversible; matches Rails' own resource routes. - `controller_to_model` likewise stops singularising (returns `Nodes`). - render_osm emits `generated/controllers.rs` (was `actions.rs`); osm-domain does `#[path=…] pub mod controllers;` + `pub use controllers::*;`, so both `osm_domain::controllers::nodes::show(input)` and the re-exported `osm_domain::nodes::show(input)` resolve. The (part_of:is_a) rail + the `is_a` archetype axis (index→list, …) are unchanged — only the invented singular container naming is gone. Regenerated the parked snapshot; osm-domain builds; `container_of` verbatim test replaces the deleted singulariser test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYvNjD8M8LMNYbRy3gq2FP
1 parent 5d29a22 commit 5997b04

6 files changed

Lines changed: 934 additions & 855 deletions

File tree

0 commit comments

Comments
 (0)