Rubysonar ist ein semantischer Indexer für Ruby, der eine interprozedurale Analyse durch Abschlusstypen durchführt. Es ist eine der zugrunde liegenden Technologien, die den SourceGraph der Code -Suchstelle versorgen.
Rubysonar ist nach Pysonar2 modelliert, was eine ähnliche Analyse für Python durchführt und von SourceGraph und Google verwendet wurde. Um die technischen Eigenschaften zu verstehen, finden Sie in meinen Blog -Posts:
mvn package
Rubysonar verwendet den irb -Dolmetscher, um Ruby -Code zu analysieren. Stellen Sie daher sicher, dass Sie ihn durch die PATH installiert und verweisen.
Rubysonar ist hauptsächlich als Bibliothek für IDEs und andere Entwickler-Tools konzipiert, sodass ihre Benutzeroberfläche möglicherweise nicht so attraktiv ist wie ein Endbenutzer-Tool, sondern für Ihr Verständnis der Funktionen der Bibliothek wurde ein einigermaßen netter Demo-Programm erstellt.
Sie können einen einfachen "Code-Browser" Ihres Ruby-Code mit der folgenden Befehlszeile erstellen:
java -jar target/rubysonar-0.1-SNAPSHOT.jar /path/to/project ./html
Dies wird ein paar Minuten dauern. Nach diesem Vorgang sollten Sie einige interaktive HTML -Dateien im HTML -Verzeichnis finden.
Rubysonar - ein fortschrittlicher semantischer Indexer für Ruby
Copyright (C) 2013-2019 Yin Wang
Umverteilung und Verwendung in Quellen- und Binärformen mit oder ohne Modifikation sind zulässig, sofern die folgenden Bedingungen erfüllt sind:
Umverteilungen des Quellcode müssen die oben genannte Copyright -Mitteilung, diese Liste der Bedingungen und den folgenden Haftungsausschluss behalten.
Umverteilungen in binärer Form müssen die oben genannte Copyright -Mitteilung, diese Liste der Bedingungen und den folgenden Haftungsausschluss in der Dokumentation und/oder anderen mit der Verteilung bereitgestellten Materialien reproduzieren.
Der Name des Autors darf nicht verwendet werden, um Produkte zu unterstützen oder zu fördern, die aus dieser Software abgeleitet wurden, ohne dass eine bestimmte schriftliche Genehmigung.
Diese Software wird vom Autor "wie" wie "" "und alle ausdrücklichen oder stillschweigenden Garantien bereitgestellt, einschließlich, aber nicht beschränkt auf die impliziten Garantien für Handelsfähigkeit und Eignung für einen bestimmten Zweck. In keinem Fall haftet der Autor für direkte, indirekte, zufällige, besondere, beispielhafte oder konsequentierte Schäden (einschließlich,, aber nicht beschränkt auf die Beschaffung von Ersatzwaren oder -dienstleistungen; Verlust der Verwendung, Daten oder Gewinne; oder geschäftliche Unterbrechung, die jedoch verursacht wurden, und in der Theorie der Haftung. SCHADEN.