我有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
我想将dirname
作为参数传递,例如:
dirname : "<%= LOGFILE_PATH%>"
我的LOGFILE_PATH
在名为init.rb
的文件中定义。
答案 0 :(得分:20)
您可以使用ERB。
例如:
template = ERB.new File.new("path/to/config.yml.erb").read
processed = YAML.load template.result(binding)
您可以在此处详细了解绑定:ruby metaprogramming。