Zo gebruik je XML to Ruby
- Plak een representatief XML-voorbeeld, bij voorkeur een met alle optionele velden ingevuld.
- Stel de naam van het roottype in en bepaal of je ook hulpcode wilt of alleen types.
- Kopieer de gegenereerde Ruby-code naar je project.
Over XML to Ruby
Modelklassen met de hand schrijven voor een grote XML-payload is saai en daar sluipen typefouten in. Plak hier een voorbeeld en de generator leidt de structuur af: welke velden er zijn, welke objecten zijn, welke arrays en welk type elke waarde heeft. De uitvoer bestaat uit Dry::Struct-klassen met Dry::Types, met hulpfuncties from_dynamic en to_dynamic.
XML wordt eerst op dezelfde manier naar JSON geconverteerd als in onze XML to JSON-tool: attributen krijgen een @_-voorvoegsel en tekstinhoud naast attributen heet #text. De Ruby-types worden uit dat resultaat gegenereerd. De gegenereerde code is uitgebreid omdat hij types tijdens runtime valideert, wat Ruby zelf niet doet.
De gegenereerde code gebruiken
Voeg de dry-struct-gem toe en roep Root.from_json!(text) aan.
Optionele attributen worden gedeclareerd met het optional-type en kunnen nil zijn.