each_require (install.rb)

    # File install.rb, line 52
    def each_require(file, target_set, &block)
      File.foreach(file) {|line|
        next if /\A\s*require\s+['"]([^'"]+)['"]/ !~ line
        feature = $1
        filename = "#{feature}.rb"
        next if target_set.include? filename
        next if !File.exist?(filename)
        target_set[filename] = true
        yield filename
        each_require(filename, target_set, &block)
      }
    end