lib/kafo/kafo_configure.rb in kafo-0.5.4 vs lib/kafo/kafo_configure.rb in kafo-0.5.5
- old
+ new
@@ -121,13 +121,14 @@
def exit_code
self.class.exit_code
end
- def self.exit(code)
- cleanup
+ def self.exit(code, &block)
@exit_code = translate_exit_code(code)
+ block.call if block
+ cleanup
throw :exit
end
def self.exit_code
@exit_code ||= 0
@@ -215,12 +216,12 @@
params.detect { |p| p.name == name && p.module.name == mod }
end
private
- def exit(code)
- self.class.exit(code)
+ def exit(code, &block)
+ self.class.exit(code, &block)
end
def set_parameters
# set values based on default_values
params.each do |param|
@@ -374,11 +375,12 @@
exit_code = e.status.exitstatus
end
@progress_bar.close if @progress_bar
logger.info "Puppet has finished, bye!"
FileUtils.rm(temp_config_file, :force => true)
- self.class.hooking.execute(:post)
- exit(exit_code)
+ exit(exit_code) do
+ self.class.hooking.execute(:post)
+ end
end
def progress_log(method, message)
@progress_bar.print_error(message + "\n") if method == :error && @progress_bar
logger.send(method, message)