2012-02-27 5 views
1

私はファイルを縮小するためにjsminを使うrakefileを持っています。私がする必要があるのは、minifyスクリプトを実行するときにjsminが含まれないブラックリストとして機能する一連のファイルを持つことです。ファイル名の配列はルビーのブラックリスト

jsFolder = "./scripts" 
    cssFolder = "./stylesheets" 
    blackList = [blackListedFile.js] #this is what i need. 
    minifiedFileRootPath = "./" 

    task :minify_each_file, [:type] do |t, args| 
      args.with_defaults(:type => "js") 
      sourceFolder = args.type == 'js' ? jsFolder : cssFolder 
      listOfFilesToMinify = Dir.glob(sourceFolder << "/**/*." << args.type) 
      listOfFilesToMinify.each do |sourceFile| 
      minifiedFile = sourceFile.sub("."+ args.type,".min" + args.type) 
      puts minifiedFile 
      puts sourceFile 
      minifyone sourceFile, minifiedFile 
     end 
    end 

答えて

2

変更:

(listOfFilesToMinify - blackList).each do |sourceFile| 

とブラックリストの列に次の構文を使用する

listOfFilesToMinify.each do |sourceFile| 

blackList = %w{foo bar} 

それが正常に動作する必要があります。ソリューションに加えて

+0

、圧縮するファイルは、フォルダ内の、そのようなファイルへの完全なパスでブラックリストにファイルを、先頭に追加されている場合: 'cssFolderは=「./stylesheet/」 ブラックリスト= ["/blacklistedFile.css"、 "/anotherBlackListedFile.css"].collect {| x | cssFolder + x} ' – franticfrantic