Из-за динамической природы Ruby невозможно точно знать, используется ли драгоценный камень без тестирования.Несмотря на то, что загружать их в режиме ad-hoc без веской причины - плохая практика, в любой момент выполнения программы может потребоваться гем.Их не нужно загружать заранее.
Несмотря на то, что могут быть преимущества загрузки гемов по требованию, например, уменьшение объема памяти и сокращение времени запуска, трудно определить, является ли илигде они на самом деле используются.
Не всегда есть корреляция между именем драгоценного камня и методами, которые он использует.В то время как у многих есть пространство имен, которое легко найти, некоторые просто добавляют методы к существующим классам, что может усложнить их отслеживание, особенно если они зашли так далеко, что исправляют старые методы с новыми с тем же именем.
Если вы можете выполнить большую часть приложения с помощью своих модульных, функциональных и интеграционных тестов, возможно, можно будет использовать ruby-prof , чтобы хотя бы понять, какие драгоценные камни используются.Это может упростить идентификацию кандидатов на удаление.