2011-12-07 10 views
1

Linux特有のGEMを修正しようとしています... whichコマンドは、GEMによってインストールされたシェルファイルを検索して実行ファイルを呼び出し、結果を消費します。Rails 3.1 Gemインストールで特定のファイルを見つける

私はFind.find(dir)を使ってファイルの場所を知ることができると思っていました。残念ながら、このファイルのパスを検索するのは面倒です。私はどのように私が検索領域を絞り込むことができるか、ファイルを見つけるための別の方法の提案を探しています。ここで

私は今コードを実装していますされています

@path_array = ENV['Path'].split(";") 

require 'find' 
@path_array.each do |dir| 
    Find.find(dir) do |path| 
    if File.basename(path) == "wkhtmltoimage-proxy" 
     Rails.logger.debug("@@@ Here") 
     @meow = path 
    end 
    end 
end 

アップデートを...

FileTest.directoryに追加しようとしましたか?次にそれはファイルをバイパスするように見えました。

答えて

0

なぜ私は経路を検索しましたか?それがパスにあれば、実行はそれを見つけるはずです。ダー。

私が聞いた唯一の妥当な解決策は、リソースファイル(例:Properties)にパスを入れてFindを使用するのではなく、そこから場所を取得するように要求することです。

元の開発者がwhich <exe> .chompコマンドを使用した理由は、Linuxのコマンドがはるかに高速だったためです。