davidteren
7/6/2016 - 1:06 PM

Ways to require many ruby files

Ways to require many ruby files

Dir[File.dirname(__FILE__) + '/lib/*.rb'].each {|file| require file }

###########################################################
module MyApp
  # Utility method used to require all files ending in .rb that lie in the
  # directory below this file that has the same name as the filename passed
  # in. Optionally, a specific _directory_ name can be passed in such that
  # the _filename_ does not have to be equivalent to the directory.
  #
  def self.require_all_libs_relative_to( fname, dir = nil )
    dir ||= ::File.basename(fname, '.*')
    search_me = ::File.expand_path(
        ::File.join(::File.dirname(fname), dir, '**', '*.rb'))
    p search_me
    Dir.glob(search_me).sort.each {|rb| require rb}
  end
end  # module MyApp

MyApp.require_all_libs_relative_to(__FILE__, 'lib')