В Ruby есть два механизма автозагрузки: явный и неявный.
Первый основан на методе autoload
.Вы можете найти подробное описание здесь .
autoload :Command, 'thin/command'
autoload :Connection, 'thin/connection'
autoload :Daemonizable, 'thin/daemonizing
Второе основано на именах файлов.Предполагая, что путь /path/to/folder
находится в вашем $LOAD_PATH
, Ruby попытается загрузить файл, соответствующий нижнему регистру имени требуемого класса и подчеркиванию.
Например, когда вы впервые используете класс DefaultLogger
Ruby попытается найти, если
/path/to/folder/default_logger.rb
существует и определяет Post.Если это так, файл будет загружен вместе с определением класса.Этот подход широко используется при создании драгоценных камней.