require
all files in a directory recursively.
% gem install require_recursive
require 'require_recursive'
$LOAD_PATH.unshift File.expand_path('../app', __FILE__)
require_recursive 'my_app_directory'
/pkg/ |
require "bundler/gem_tasks" |
Gem::Specification.new do |spec| | |
spec.name = 'require_recursive' | |
spec.version = '0.1.0' | |
spec.authors = ['Tsukuru Tanimichi'] | |
spec.email = ['ttanimichi@hotmail.com'] | |
spec.summary = 'require all files in a directory recursively.' | |
spec.homepage = 'https://gist.github.com/ttanimichi/267fb4360ab3afc5e2d6' | |
spec.license = 'MIT' | |
spec.files = ['require_recursive.rb'] | |
spec.require_paths = ['.'] | |
spec.required_ruby_version = '>= 2.0.0' | |
end |
module Kernel | |
def require_recursive(directory) | |
if paths = $LOAD_PATH.map {|load_path| Dir["#{load_path}/#{directory}/**/*.rb"] }.find(&:any?) | |
paths.each(&method(:require)) | |
else | |
fail LoadError, "cannot load such files -- #{directory}/**/*.rb" | |
end | |
end | |
end |