Consolidate app/queries/ and app/queriers/ into a single query-objects folder
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 84/100
Rechercherichtung
Beginne mit dem Lesen von Admin::WorkshopConcerns und des Einstiegspunkts Admin::WorkshopsController#show, und suche anschließend AdminWorkshopAttendeeFlags unter app/queriers/. Verschiebe es nach app/queries/, ohne seine Aufrufer zu ändern, und führe die Specs für Admin::WorkshopsController#show und das Dashboard aus. Die Aufgabe ist erledigt, wenn app/queriers/ verschwunden ist, die Klasse aus app/queries/ aufgelöst wird und beide genannten Testbereiche erfolgreich sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
The repo has two folders for the same concept, with three different class shapes between them:
| Folder | Class | Shape | Used by |
|---|---|---|---|
app/queries/ |
DashboardQuery |
class-level methods (upcoming_events, total_upcoming_events_count) |
DashboardController |
app/queries/ |
SponsorsSearch |
ActiveModel::Model object with attr_accessor :name, :chapter |
Admin::SponsorsController |
app/queriers/ |
AdminWorkshopAttendeeFlags |
self.for_members(member_ids) → instance #to_h |
Admin::WorkshopConcerns |
queriers is not a name Rails developers recognise as an autoload convention (app/queries is), and the split isn't semantic — AdminWorkshopAttendeeFlags is the same kind of code as DashboardQuery: batched aggregate queries for controllers.
Proposed change
- Move
AdminWorkshopAttendeeFlagsfromapp/queriers/toapp/queries/and deleteapp/queriers/. - Leave the three existing call shapes alone for now — normalising
DashboardQuery/SponsorsSearchinterfaces is out of scope and needs its own discussion.
Acceptance
app/queriers/no longer exists;AdminWorkshopAttendeeFlagsresolves fromapp/queries/.- Callers unchanged (
Admin::WorkshopConcernsreferences the same class name). Admin::WorkshopsController#showand the dashboard specs pass.
- Vorherrschende Sprache
- Ruby
- Sterne
- 106
- Forks
- 208
- Ø Merge
- 18 Std. 3 Min.
- Gemergte PRs (30 T.)
- 74
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus codebar/planner
-
DashboardQuery eager-loads workshop_host with :sponsors in one join (same host-loss trap as #2975)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Add preboot context to strong_migrations destructive-operation messagesEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenenhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
Dual Invitiation issueEvtl. vergeben @mroderick hat das vor 10 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 28/100
codebar/planner#3008 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in codebar/planner
Ähnliche Issues
-
Liens externes cassésOffen
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 66/100
betagouv/conseillers-entreprises#4770 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
seek4science/seek#2762 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
rubyevents/rubyevents#2277 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 92/100
Maintainer antworten meist innerhalb von 2 Tagen