private static boolean isInterpreterDirectory()

in rake-runner-test/src/jetbrains/slow/plugins/rakerunner/RubyVersionsDataProvider.java [161:186]


  private static boolean isInterpreterDirectory(@Nullable final File directory) {
    if (directory == null || !directory.exists() || !directory.isDirectory()) {
      return false;
    }
    final File bin = new File(directory, "bin");
    if (!bin.exists() || !bin.isDirectory()) {
      return false;
    }
    final HashSet<String> probablyNames = new HashSet<String>() {{
      if (SystemInfo.isWindows) {
        add(OSUtil.RUBY_EXE_WIN);
        add(OSUtil.RUBY_EXE_WIN_BAT);
        add(OSUtil.JRUBY_EXE_WIN);
        add(OSUtil.JRUBY_EXE_WIN_BAT);
      } else {
        add(OSUtil.JRUBY_EXE_UNIX);
        add(OSUtil.RUBY_EXE_UNIX);
      }
    }};
    final File[] files = FileUtil.listFiles(bin, new FilenameFilter() {
      public boolean accept(@NotNull final File dir, @NotNull final String name) {
        return probablyNames.contains(name);
      }
    });
    return files.length > 0;
  }