我正在定义一个提供者,如下所示:
action :start do
...
end
action :stop do
...
end
action :restart do
...
end
现在,我不想在stop
中重写start
和restart
的实现,而是在action :stop
中调用action :start
然后action :restart
},像这样:
action :restart do
action :stop
action :start
end
有没有办法实现这个目标?
编辑 - 正如Coderanger的回答所述,解决方案是:
action :restart do
action_stop
action_start
end
答案 0 :(得分:4)
致电action_start
和action_stop
。
答案 1 :(得分:0)
我不确定这是否是正确的答案。我刚试过这个,似乎在编译时调用了action_stop和action_start。我试图运行这样的东西:
action :create do
# steps to create resource
directory '/test' do
...
end
action_config
end
action :config do
... # configuration
template '/test/config' do
...
end
end
它失败了,因为:config先运行(在创建目录之前)。
我试图将action_config放入ruby_block - 这似乎有效,但我不确定参数是否正确传递。