Skip to content

chg: Performance, Modernisierung & Dokumentation#54

Open
Skulli wants to merge 37 commits into
monterail:masterfrom
Skulli:chg/optimize-modernize
Open

chg: Performance, Modernisierung & Dokumentation#54
Skulli wants to merge 37 commits into
monterail:masterfrom
Skulli:chg/optimize-modernize

Conversation

@Skulli

@Skulli Skulli commented Jul 7, 2026

Copy link
Copy Markdown

Übersicht

Dieses PR bündelt mehrere Verbesserungen: Performance-Optimierungen im Kern, erweiterte Testabdeckung, eine vollständig überarbeitete Dokumentation auf Deutsch sowie aktualisierte Abhängigkeiten.

Änderungen

Performance

  • codes(city) nutzt jetzt einen lazy gecachten Reverse-Index (city → [codes]) statt eines O(n)-Scans über alle Einträge
  • YAML.load(File.open(...)) ersetzt durch YAML.load_file(..., permitted_classes: [Symbol]) — schließt das File-Handle korrekt und ist kompatibel mit Psych 4 (Ruby 3.1+)
  • like verwendet start_with? statt key.index(code) == 0

Tests

  • Specs von 6 auf 13 erweitert
  • Neue Fälle: unbekannte PLZ (nil), unbekannte Stadt (leeres Array), like_search: true auf identify, Prefix-Suche ohne Treffer

Dokumentation

  • README.md vollständig auf Deutsch übersetzt, mit Datenfeld-Tabelle und Rails-Initializer-Beispiel
  • CLAUDE.md neu: Projektstruktur, Datenformat, Datenpflege via rake convert, Hinweis auf Symbol-Keys in YAML

Gem & Metadaten

  • gemspec: Autor, E-Mail, Homepage, Description auf diesen Fork angepasst; required_ruby_version >= 3.0.0, bundler >= 2.0
  • Rakefile: US-spezifischen convert-Task durch echten DE-Converter-Aufruf ersetzt
  • Alle Gems auf aktuelle Versionen aktualisiert (rake, json, parallel, rubocop, standard u.a.)

Testplan

  • bundle exec rspec — 13 Beispiele, 0 Fehler
  • bundle exec standardrb — keine Beanstandungen
  • CI-Pipeline grün

🤖 Generated with Claude Code

Sascha Skulima and others added 30 commits July 8, 2015 17:35
Hier die PLZ-Datensätze einer älteren PLZ-Datenbank.
Ein Ort kann hier n PLZs besitzen. Sollte aber kein Problem darstellen für den Anwendungsfall, nach Eingabe einer PLZ, den Ort in Formularen vorauszufüllen.
Der umgekehrte Fall wäre auch denkbar, muss aber nicht unbedingt sein...
neuer Versuch aus utf-8 txt-Datei...
Update DE.yml, 2. Versuch
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Skulli and others added 7 commits February 25, 2026 10:30
- codes() uses O(1) reverse city index instead of O(n) full scan
- YAML.load_file with permitted_classes replaces File.open leak
- like() uses start_with? for clarity and speed
- Tests erweitert: 6 → 13 Specs (nil-lookup, edge cases, like-search)
- README auf Deutsch übersetzt, Datenfelder dokumentiert
- gemspec: Autor, Homepage, Ruby >= 3.0, Bundler >= 2.0 aktualisiert
- Rakefile: US-convert-Task durch DE-Converter ersetzt
- CLAUDE.md ergänzt mit Projektstruktur und Datenpflege-Doku
- Alle Gems auf aktuelle Versionen aktualisiert

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ation

fetch(city, []) statt Hash-Default-Block verhindert zudem, dass
unbekannte Städte leere Arrays im Index hinterlassen.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lasses)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant