Ich mag das Nokogiri::XML::Builder
-Konstrukt, aber es wäre einfacher, große XML-Dokumente zu erstellen, wenn ich den Bauprozess weiter modularisieren könnte, indem ich den Job auf mehrere Builder aufteilen würde.
Sieht jemand einen Weg, mehrere Bauherren zur Zusammenarbeit zu bewegen? (Beispielsweise ruft ein Eltern-Builder Funktionen auf, die untergeordnete Builder zum Erstellen kleinerer Teile des Dokuments festlegen)
Oder gibt es eine Möglichkeit, einen Builder zu ändern, nachdem sein Block beendet wurde? (--- kurz, XML auszugeben, dann in ein Nokogiri :: XML :: -Dokument zu analysieren, dann Knoten hinzuzufügen und dann wieder XML auszugeben)
zum Beispiel ein Eltern-Builder, der Funktionen aufruft, die untergeordnete Builder zum Erstellen kleinerer Teile des Dokuments festlegen
Sie können die Verantwortung einfach an Methoden delegieren, die den aktuellen Status des Builders verwenden und ihn verwenden. Zum Beispiel:
%Vor% Übergeben Sie einfach die xml
(oder wie auch immer Sie Ihr Builder-Objekt nennen) an die Methode und lassen Sie diese Methode das tun, was sie benötigt (entweder prozedural oder manuell).
Oder gibt es eine Möglichkeit, einen Builder zu ändern, nachdem sein Block beendet wurde?
Ja! :) Du willst die doc
-Methode des Builders nutzen, um den Nokogiri::XML::Document
zu bekommen. Das obige Beispiel weiterführen: