From: "fxn (Xavier Noria)" <noreply@...>
Date: 2022-06-19T16:31:12+00:00
Subject: [ruby-core:109006] [Ruby master Feature#18841] Proposal: autoload_relative

Issue #18841 has been updated by fxn (Xavier Noria).


Oh, I should have searched before! Can't close this one myself.

----------------------------------------
Feature #18841: Proposal: autoload_relative
https://bugs.ruby-lang.org/issues/18841#change-98116

* Author: fxn (Xavier Noria)
* Status: Open
* Priority: Normal
----------------------------------------
In my experience, autoloads often reflect an existing hierarchical structure.

If a project does not use Zeitwerk, and the user declares autoloads for a class or module, chances are they are for child constants. As an example, see the [`ActiveRecord` module](https://github.com/rails/rails/blob/main/activerecord/lib/active_record.rb). (Those ones do not have a second argument because we define wrapper that derives it by convention, [here](https://github.com/rails/rails/blob/main/activesupport/lib/active_support/dependencies/autoload.rb)).

I think it would be convenient to have an `autoload_relative` in the line of `Kernel#require_relative`. It would make existing patterns more concise, and as a practical consequence, you skip `$LOAD_PATH` lookups too.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>