# Re: There must be a better way -- requiring multiple files

**URL:** <https://www.ruby-forum.com/t/re-there-must-be-a-better-way-requiring-multiple-files/49525>\
**Category:** Ruby\
**Created:** [November 22, 2005, 6:30pm UTC](https://www.ruby-forum.com/t/re-there-must-be-a-better-way-requiring-multiple-files/49525 "2005-11-22T18:30:54Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Daniel.Berger](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@Daniel.Berger](https://www.ruby-forum.com/u/Daniel.Berger)\
**Post date:** [November 22, 2005, 6:30pm UTC](https://www.ruby-forum.com/t/re-there-must-be-a-better-way-requiring-multiple-files/49525/1 "2005-11-22T18:30:54Z")

</div>

> > > Dir[File.join( **FILE** , “…”, “…”, “lib”, “\*\*”,
> > 
> > Others more familiar with the Ruby source already said  
> > Yep, guess so.
> 
> Interesting points raised nevertheless.
> 
> Kind regards
> 
> ```
> robert
> 
> ```

Could Kernel#require be modified to understand ‘\*’ (non-recursive) and  
‘\*\*’ (recursive)? Then you could do:

require “net/\*” # require all .rb files under the net directory  
require “net/\*\*” # Same, but recursive

I seem to recall this being proposed in the past, but I can’t remember  
the arguments against it.

Regards,

Dan

---

<div class="post-metadata">

**Author:** ![Daniel.Berger](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@Daniel.Berger](https://www.ruby-forum.com/u/Daniel.Berger)\
**Post date:** [November 22, 2005, 7:47pm UTC](https://www.ruby-forum.com/t/re-there-must-be-a-better-way-requiring-multiple-files/49525/2 "2005-11-22T19:47:28Z")

</div>

On Wed, Nov 23, 2005 at 02:29:16AM +0900, Berger, Daniel wrote:

> Could Kernel#require be modified to understand ‘\*’ (non-recursive) and  
> ‘\*\*’ (recursive)? Then you could do:
> 
> require “net/\*” # require all .rb files under the net directory  
> require “net/\*\*” # Same, but recursive
> 
> I seem to recall this being proposed in the past, but I can’t remember  
> the arguments against it.

You could add to them that it’d pose some problems with RubyGems’ new  
definition of Kernel#require.

---

<div class="post-metadata">

**Author:** ![Daniel.Berger](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@Daniel.Berger](https://www.ruby-forum.com/u/Daniel.Berger)\
**Post date:** [November 22, 2005, 7:55pm UTC](https://www.ruby-forum.com/t/re-there-must-be-a-better-way-requiring-multiple-files/49525/3 "2005-11-22T19:55:31Z")

</div>

On 11/22/05, Mauricio Fernández [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> definition of Kernel#require.  
> Yeah, but I think that there are enough potential problems with the  
> idea that one wouldn’t even have to reach that far down the list to  
> kill it.

1. The search time would be high, since Ruby would have to look in all  
of $LOAD\_PATH.
2. It would be _massively_ insecure. Even what I do in Ruwiki isn’t  
safe from that perspective.

It would be better to have a single file that you load that contains  
the names of the files you want to load.

-austin
