Gibt es etwas, das Nokogiri ähnlich ist, um Ruby-Code zu analysieren?

9

Nokogiri ist großartig. Ich kann Dinge wie #css('.bla') tun, die das erste passende Element zurückgeben.

Im Moment müssen wir den Ruby-Quellcode analysieren - alle Methoden innerhalb einer Klasse finden usw. Wir verwenden ruby_parser Juwel, aber alles, was es tut, ist Ihren Quellcode zu kämmen und S-Ausdrücke auszuspucken. Gibt es etwas wie Nokogiri für diese S-Ausdrücke, die Dinge wie "S-Ausdruck für die erste gefundene Methode namens foo" zurückgeben können?

    
Suan 16.06.2011, 23:15
quelle

4 Antworten

2

Das einzige, was mir einfällt, ist Adam Sandersons SExpPath -Bibliothek .

    
Jörg W Mittag 17.06.2011, 09:27
quelle
2

Obwohl ich Jörgs Antwort akzeptiere, weil es vollständiger ist, habe ich am Ende etwas anderes entdeckt, was ich am Ende benutzt habe. ruby_parser installiert ein abhängiges Schmuckstück mit dem Namen sexp_processor (in diesem Edelstein ist die Klasse Sexp tatsächlich definiert). Wenn Sie die Klassendokumente anzeigen, gibt es einige Methoden, die Ihnen bei grundlegenden Ruby-Findern helfen. Hier ist ein Beispiel:

%Vor%     
Suan 20.06.2011 22:18
quelle
0

Ich weiß nichts über das Juwel, das du suchst, aber du kannst alle Methoden innerhalb einer Klasse mit instance_methods finden:

%Vor%     
Vasiliy Ermolovich 17.06.2011 07:39
quelle
0

Sie könnten den Rubinius-Parser überprüfen, er könnte Ihnen dabei helfen, das zu tun, was Sie wollen.

    
Schmurfy 18.06.2011 17:00
quelle