Lets say for some sane/insane reason , you want to notify a resource to take some action from within ruby_block , you can accomplish it as follows
ruby_block "dummy" do block do if some_condition_is_true resources(:file => "create_file").run_action(:create) end end end file "create_file" do path "/tmp/test.txt" owner "you" content "dummy" action :nothing end
Caveat :
If file resource "create_file" further notifies another resource , that resource will not be notified. What i mean to say is that calling a resource from within ruby_block by using run_action method directly does not build up the notification chain . For example if file resource was as belowfile "create_file" do path "/tmp/test.txt" owner "you" content "dummy" action :nothing notifies :run , resources(:execute => "some_script") endand file resource is notified from within ruby_block , then file resource will not further notify "some_script" resource.