Вы можете использовать Dir.glob
, чтобы найти нужные вам файлы. Подробнее здесь , но, в основном, вы передаете ему шаблон типа Dir.glob 'dir/*.rb'
и получаете имена файлов, соответствующие этому шаблону. Я предполагаю, что это сделано достаточно хорошим способом, но это будет зависеть от вашей платформы и реализации.
Что касается Dir.foreach
, то это также должно быть эффективным - проблема заключается в том, нужно ли обрабатывать весь каталог для каждого прохода цикла. Но это было бы ужасной реализацией, а это не так.