Как require и require_dependency разные? 
Как require_dependency автоматически перезагружать классы в разработке, но require не может?
Я выкопал код Rails ActiveSupport::Dependencies и dispatcher.rb. То, что я видел в коде require_dependency, в основном добавляет константы к массиву autoloaded_constants. Но после каждого запроса он очищается внутри clear_application внутри диспетчера.
Может кто-нибудь дать ясное объяснение или указать мне некоторые ресурсы, которые помогут?