在学习chefspec时,我找到了以下代码:
describe 'example::default' do
let(:chef_run) do
ChefSpec::SoloRunner.new do |node|
node.set['cookbook']['attribute'] = 'hello'
end.converge(described_recipe)
end
end
结束调用方法收敛,我是ruby和chefspec的新手,我用google搜索了很多时间并没有得到答案,有人可以帮忙解释一下语法?
答案 0 :(得分:6)
它与:
相同x = ChefSpec::SoloRunner.new do |node|
node.set['cookbook']['attribute'] = 'hello'
end
x.converge(described_recipe)
答案 1 :(得分:5)
在新的converge
对象上调用方法ChefSpec::SoloRunner
。
看看下面的例子,用块初始化一个对象。
Array.new(4) { 5 }.length
# => 4
Array.new(4) do
5
end.length
# => 4
Array.new(4) do
5
end.class
# => Array