나는 다음과 같은 인형 템플릿 파일 solr.json.erb 있습니다는 매개 변수
{
"servers" : [ {
"port" : "<%= jmx_port %>",
"host" : "localhost",
"queries" : [
<% @markets.each do |market| -%>
{
"outputWriters" : [ {
"@class" : "com.googlecode.jmxtrans.model.output.StdOutWriter",
} ],
"obj" : "solr/market_<%= market %>:type=queryResultCache,id=org.apache.solr.search.LRUCache",
"attr" : [ "hits","hitratio"]
},
<% end -%>
],
"numQueryThreads" : 2
} ]
}
을 나는 일부 템플릿을 적용한 결과를 테스트하려면 꼭두각시에서 이것을 실행하기 전에 테스트 매개 변수.
어떻게하면됩니까?
전에, 나는 my_script.ruby
require 'erb'
require 'ostruct'
namespace = OpenStruct.new(:jmx_port => 9200, :markets=> ['CH', 'FR'])
template = File.open("solr.json.erb", "rb").read;
puts ERB.new(template).result(namespace.instance_eval { binding })
,이 같은 스크립트를 시도했지만 OpenStruct이 instance variables
이 없기 때문에 그것은 작동하지 않았다, 그래서 나는 @markets
을 사용할 수 없습니다. http://docs.puppetlabs.com/guides/templating.html
erb -P -x -T '-' mytemplate.erb | ruby -c
을하지만 내가 요구하고있는 무슨이 아니다 :
문서는이 명령 구문을 확인할 수 있음을 언급하고있다. 일부 테스트 매개 변수 (jmx_port = 9200, markets = [ 'CH', 'FR'])를 템플릿에 적용한 결과를 묻습니다.
어떻게하면됩니까?
마일, 아래에서 Chris의 제안을 테스트하고 통합 할 수 있습니까? – DomQ