Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Preserve quote style while changing a YAML file

Offen
#671 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
ruby, yaml
Bereich
tooling

Rechercherichtung

Beginne damit, das im Issue beschriebene Verhalten von Psych#load und Psych#dump zu lesen, und untersuche anschließend den YAML-AST-Pfad sowie, wie der Zitierstil für die Werte in en.yml dargestellt wird. Die Aufgabe ist erledigt, wenn ein Schlüssel hinzugefügt wird und dabei die vorhandene Zitierung sowie die sonstige im erwarteten Ergebnis gezeigte Formatierung erhalten bleiben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

I have Rails I18n en.yml file which contains values with or without qoutes.

I want to change this file programmatically, but if I use Psych#load and Psych#dump approach it removes all the quotes from values. I don't want to change styling of existing values, how can I do that?

As I understand parsing the ast is the way, but I want to preserve simplicity of working with YAML as the hash and then simply dump it back as the original file but with a few new key/values.

Input:

en:
  account:
    invoices:
      empty: 'It''s empty here'
      tabs:
        donations: Donations
        giftcards: 'Gift Cards'
        membership: Membership
        purchases: Purchases
        subscription: Subscription
      title: 'Invoices History'

Expected result (all styling preserved, new key added):

en:
  account:
    invoices:
      empty: 'It''s empty here'
      tabs:
        donations: Donations
        giftcards: 'Gift Cards'
        membership: Membership
        purchases: Purchases
        subscription: Subscription
        my_new_key: New Value
      title: 'Invoices History'
Vorherrschende Sprache
Ruby
Sterne
597
Forks
223
Ø Merge
6 Std. 8 Min.
Gemergte PRs (30 T.)
2

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ruby/psych

Alle Issues in ruby/psych

Ähnliche Issues

Weitere Issues zu Ruby

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.