2 つのリソースがあるとします。
template 'template1' do
owner 'root'
group 'root'
end
template 'template2' do
owner 'root'
group 'root'
end
リソース内のコードを再利用したい。しかし、レシピで proc を定義するとowner
、group
などに対して NoMethodError が発生します。なぜですか? レキシカルスコープは違いますよね?その結果、使用する必要がありますself.instance_eval &common_cfg
。
common_cfg = Proc.new {
owner 'root'
group 'root'
}
template 'template1' do
common_cfg.call
end
template 'template2' do
common_cfg.call
end