Ruby-Gem zur Suche nach deutschen Postleitzahlen (PLZ). Gibt zu einer PLZ die zugehörige Stadt, den Landkreis bzw. Bezirk und das Bundesland zurück. Der vollständige Datensatz (~8.000 PLZ) ist als YAML-Datei eingebettet und wird beim ersten Zugriff in den Arbeitsspeicher geladen.
In der Gemfile eintragen:
gem 'zip-codes'Dann ausführen:
$ bundle install
Oder direkt installieren:
$ gem install zip-codes
ZipCodes.identify('20535')
# => { city: "Hamburg", code: "20535", county: "Hamburg-Mitte", osm_id: "62782", state: "Hamburg" }
ZipCodes.identify('99999')
# => nilZipCodes.identify('205', like_search: true)
# => { "20535" => { city: "Hamburg", ... }, "20537" => { ... }, ... }
# Kurzform:
ZipCodes.like('205')ZipCodes.codes('Hamburg')
# => ["20095", "20097", ..., "22769"] # 98 EinträgeDamit die YAML-Datei nicht beim ersten Request geparst wird, kann die Datenbank in einem Initializer vorgeladen werden:
# config/initializers/zip_codes.rb
ZipCodes.load unless Rails.env.development?| Feld | Beispiel | Beschreibung |
|---|---|---|
code |
"20535" |
PLZ (5-stelliger String) |
city |
"Hamburg" |
Stadt / Gemeinde |
county |
"Hamburg-Mitte" |
Landkreis oder Bezirk |
state |
"Hamburg" |
Bundesland |
osm_id |
"62782" |
OpenStreetMap-Relation |
Die Daten basieren auf OpenStreetMap-Daten.
- Fork erstellen
- Feature-Branch anlegen (
git checkout -b mein-feature) - Änderungen committen (
git commit -am 'Feature hinzufügen') - Branch pushen (
git push origin mein-feature) - Pull Request öffnen
