2012-01-04 7 views
6

私は、入力として変数を取る必要がYAMLファイルを持っている:私は、パラメータとしてdirnameを渡したいような何かYAMLファイルで変数を使用するにはどうすればよいですか?

outputters: 
    - type  : DateFileOutputter 
     name  : logfile 
     level  : DEBUG 
     date_pattern: '%Y%m%d' 
     trunc  : 'false' 
     dirname  : "/home/sameera/workspace/project/log" 
     filename : "message.log" 
     formatter : 
     date_pattern: '%m/%d/%Y %H:%M:%S' 
     pattern  : '%d %l - %m' 
     type  : PatternFormatter 

を:私のLOGFILE_PATHが呼ばれるファイルで定義されている

 dirname  : "<%= LOGFILE_PATH%>" 

init.rb

答えて

17

ERBを使用できます。例えば

ruby metaprogrammingを:

template = ERB.new File.new("path/to/config.yml.erb").read 
processed = YAML.load template.result(binding) 

あなたがここにバインディングの詳細を読むことができます。

+1

こんにちは@Sergio Tulentsev、それは働いていましたが、私は純粋なymlソリューションが欲しかったので、私は.ymlで同じことをしようとしましたが、運がなかったので、答えてくれてありがとうございました。 sameera – sameera207

+0

@Sergio Tulentsevあなたは他の方法でこの問題を修正しましたか?(つまりymlに基づいて) –

+0

@ManivannanJeganathan:私は試しませんでした:) –

関連する問題