# File lib/kwala/lib/strange_requires_detector.rb, line 85
  def check(dir, basedir = "")
    files = ReqWalker.find_ruby_files(dir)
    @file_filter.call(files).each do |f|
      ReqWalker.get_requires(f).each do |r|
        r = ReqWalker.find_file(r)
        if r && /\/lib\/ruby\// !~ r
          f_base = Dir.new(File.dirname(f))
          r_base = Dir.new(File.dirname(r))
          # well, we assume that a directory models our "class category"...
          if f_base != r_base
            if r_base.is_subdir_of?(f_base)
              @printer.subdir_requirement(cut_base(f,basedir), cut_base(r,basedir))
            else
              @printer.parent_dir_requirement(cut_base(f,basedir), cut_base(r,basedir))
            end
          end
        end
      end
    end
  end