Gibt es einen Befehl entweder in debugger
oder ruby-debug
, um eine Liste aller Edelsteine und/oder Plugins zu erhalten, die für einen Rails-Prozess in den Speicher geladen wurden? Ich verstehe, dass nur die 'require
'-Edelsteine geladen sind, aber ich möchte schnell sehen, was während der Laufzeit geladen wurde.Gibt es eine Möglichkeit zu sagen, welche Edelsteine und Plugins zur Laufzeit für einen Rails-Prozess geladen werden?
Antwort
Dies sollte man alles durch rubygems geladen werden:
Gem.loaded_specs.keys
Ich weiß nicht, von einer universellen Art und Weise zu sehen, welche Schienen Plugins geladen werden, können Sie an der Quelle für Rails :: Initializer (pre aussehen 3.0) & herauszufinden, was Ihre Version von Schienen tut. Hoffentlich wissen Sie, welche Plugins sollte geladen werden & kann dies von der Konsole beim Debuggen bestätigen.
Mit Versionen:
Gem.loaded_specs.values.map {|x| "#{x.name} #{x.version}"}
Ich denke, die oben genannten Antworten mit Gem.loaded_specs.keys
die Edelsteine auf dem „Lastpfad“ zeigen.
Allerdings haben Sie ursprünglich nach Edelsteinen gefragt, die in den Speicher geladen wurden, und this Antwort kann hilfreicher sein.
Nein, die anderen Antworten listen nur die erforderlichen Edelsteine korrekt auf. Ich habe das mit Ruby 2.3 getestet. Aber +1 für Ihre Antwort, weil '$ LOADED_FEATURES' auch ziemlich nützlich ist. – akostadinov
- 1. Gibt es eine Möglichkeit, welche Klassen ein ClassLoader geladen hat?
- 2. Gibt es eine Möglichkeit, Plugins für Eclipse Juno zu deinstallieren?
- 3. Gibt es eine Möglichkeit, den Bytecode für eine Klasse zur Laufzeit zu erhalten?
- 4. Welche Möglichkeiten gibt es, eine Methode zur Laufzeit aufzurufen?
- 5. Gibt es eine Möglichkeit zu sehen, welche bedingten Kompilierungssymbole zur Laufzeit gesetzt wurden?
- 6. Gibt es eine Möglichkeit zu sagen, ob ReactElement "null" darstellt?
- 7. Welche Edelsteine sollen installiert werden?
- 8. Gibt es eine Möglichkeit zu sagen, in welche Richtung der Staat mit history.js gehen wird?
- 9. Gibt es eine Möglichkeit, einen Prozess "aufwärmen" zu lassen?
- 10. Edelsteine / Plugins für Affiliate-System?
- 11. Eclipse-Plugins wehmütig langsam, aber welche? Eine Möglichkeit, die Leistung von Plugins zu messen?
- 12. Gibt es eine Möglichkeit, d: DesignData xaml zur Laufzeit zu verwenden?
- 13. Liste Eclipse installierte Plugins zur Laufzeit
- 14. Gibt es eine Möglichkeit zu sagen, ob eine Klasse für java6 kompiliert wurde?
- 15. Gibt es eine Möglichkeit zu identifizieren, welche JS window.console überschreibt?
- 16. Gibt es eine einfache Möglichkeit zu bestimmen, welche Faktoren zur Größe eines HTML-Elements beitragen?
- 17. JS: Gibt es eine Möglichkeit zu sagen, welches Objekt eine Funktion genannt wird?
- 18. Gibt es eine Möglichkeit zu sagen, in welcher DLL sich eine bestimmte .net-Assembly befindet?
- 19. Ermitteln zur Laufzeit, welche Instanzvariablen einer Klasse deklariert werden __weak
- 20. Gibt es einen automatischen Weg in ASP.NET zu sagen, welche Ressourcen nirgends in Code und Markup verwendet werden?
- 21. Gibt es eine Möglichkeit, ConfigurationManager.AppSettings zu überschreiben?
- 22. Welche Edelsteine / Plugins können für die Abmeldung in Rails verwendet werden?
- 23. Gibt es eine Möglichkeit, Abfragen zu Bibliothekmetadaten abzufangen?
- 24. Kann eine Funktion zur Laufzeit überlastet werden?
- 25. C#: Gibt es eine Möglichkeit, den ausgewählten Index eines Elements zur Laufzeit in listview zu setzen?
- 26. Gibt es eine Möglichkeit, Svg-Daten zur Laufzeit in einem swf zu rendern?
- 27. Gibt es eine Möglichkeit, die Bundle ID zur Laufzeit zu bekommen?
- 28. Gibt es eine Möglichkeit, auf den Typ einer Scala Option Deklaration zur Laufzeit mit Reflektion zuzugreifen?
- 29. Gibt es eine Möglichkeit, einen Lambda-Ausdruck zu kompilieren, der eine vom Objekt generierte Laufzeit übergibt?
- 30. Gibt es eine Möglichkeit zu sagen, ob ein Element einen CSS3-Übergang abgeschlossen hat?
Ich denke @sreid hat einen wichtigen Punkt in seiner Antwort unten, wenn ich verstehe, was richtig läuft. Die Anzahl der Edelsteine auf dem Ladepfad ist nicht notwendigerweise gleich der Anzahl der in den Speicher geladenen Edelsteine. Wenn zum Beispiel bestimmte Gruppen in einem 'Bundler.require' ausgeschlossen werden, werden' Gem.loaded_specs' dann immer noch angezeigt? –