# Dynamic require

**URL:** <https://www.ruby-forum.com/t/dynamic-require/192958>\
**Category:** Ruby\
**Created:** [August 9, 2010, 7:41am UTC](https://www.ruby-forum.com/t/dynamic-require/192958 "2010-08-09T07:41:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![raj\_plays](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/838e76/32.png) [@raj\_plays](https://www.ruby-forum.com/u/raj_plays)\
**Post date:** [August 9, 2010, 7:41am UTC](https://www.ruby-forum.com/t/dynamic-require/192958/1 "2010-08-09T07:41:51Z")

</div>

Hi,  
Is there a syntax of ‘require’ that can dynamically pick up all source  
files searching in sub directories?

I have many subdirectories under my root directory and each has some .rb  
files.  
The names and number of files in each subdirectory are different.  
My main program is in the root directory.  
It needs to be able to access all the .rb files.

Regards,  
Raj

---

<div class="post-metadata">

**Author:** ![raj\_plays](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/838e76/32.png) [@raj\_plays](https://www.ruby-forum.com/u/raj_plays)\
**Post date:** [August 9, 2010, 8:17am UTC](https://www.ruby-forum.com/t/dynamic-require/192958/2 "2010-08-09T08:17:01Z")

</div>

On Sun, Aug 8, 2010 at 11:41 PM, Rajarshi C.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> Hi,  
> Is there a syntax of ‘require’ that can dynamically pick up all source  
> files searching in sub directories?

There’s my require\_all gem, which will not only do this, but  
resolve dependencies between files

[http://github.com/tarcieri/require\_all](http://github.com/tarcieri/require_all)

That said, I’m not really a fan of this method anymore. It’s slow and  
has  
thread safety issues. I’ve been meaning to write a “sequel” to  
require\_all,  
but never gotten around to it.

---

<div class="post-metadata">

**Author:** ![raj\_plays](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/838e76/32.png) [@raj\_plays](https://www.ruby-forum.com/u/raj_plays)\
**Post date:** [August 9, 2010, 8:29am UTC](https://www.ruby-forum.com/t/dynamic-require/192958/3 "2010-08-09T08:29:18Z")

</div>

On Mon, Aug 9, 2010 at 7:41 AM, Rajarshi C.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi,  
> Is there a syntax of ‘require’ that can dynamically pick up all source  
> files searching in sub directories?
> 
> I have many subdirectories under my root directory and each has some .rb  
> files.  
> The names and number of files in each subdirectory are different.  
> My main program is in the root directory.  
> It needs to be able to access all the .rb files.

I did this once:

Dir[“#{libdir}/_/_.rb”].each do |x|  
puts “requiring #{File.join(File.dirname(x), File.basename(x,  
“.rb”))}”  
require File.join(File.dirname(x), File.basename(x, “.rb”))  
end

it will require all “\*.rb” files under a folder. Hope this helps,

Jesus.
