Есть ли какая-либо команда в debugger
или ruby-debug
для получения списка всех драгоценных камней и/или плагинов, загруженных в память для процесса Rails? Я понимаю, что загружены только драгоценные камни «require
», но я хотел бы быстро увидеть, что было загружено во время выполнения.
Есть ли способ узнать, какие гемы и плагины загружаются во время выполнения для процесса Rails?
Ответы (3)
Это должно загрузить все через rubygems:
Gem.loaded_specs.keys
Я не знаю универсального способа увидеть, какие плагины рельсов загружены, вы можете посмотреть исходный код Rails::Initializer (до 3.0) и выяснить, что делает ваша версия рельсов. Надеюсь, вы знаете, какие плагины должны загружаться, и можете подтвердить это из консоли при отладке.
person
jdeseno
schedule
01.05.2010
Я думаю, что @sreid имеет важный момент в своем ответе ниже, если я правильно понимаю, что происходит. Количество драгоценных камней на пути загрузки не обязательно равно количеству драгоценных камней, загруженных в память. Например, если определенные группы исключены из
Bundler.require
, не будут ли они отображаться в Gem.loaded_specs
?
- person Toby Murray; 30.09.2016
С версиями:
Gem.loaded_specs.values.map {|x| "#{x.name} #{x.version}"}
person
dmd
schedule
11.05.2011
Я думаю, что приведенные выше ответы с использованием Gem.loaded_specs.keys
показывают драгоценные камни на «пути загрузки».
Однако изначально вы спрашивали о драгоценных камнях, загруженных в память, и -required-in-ruby">этот ответ может быть более полезным.
person
sreid
schedule
06.04.2012
Нет, в других ответах правильно указаны только необходимые драгоценные камни. Я тестировал это с рубином 2.3. Но +1 за ваш ответ, потому что
$LOADED_FEATURES
тоже весьма полезен.
- person akostadinov; 27.02.2017