def after_hook
      return unless after && !@before_hook_failed

      Logger.info "After Hook Starting..."
      after.call(exit_status)
      Logger.info "After Hook Finished."

      set_exit_status # in case hook logged warnings
    rescue Exception => err
      fatal = !err.is_a?(StandardError)
      ex = fatal ? FatalError : Error
      Logger.error ex.wrap(err, "After Hook Failed!")
      # upgrade exit_status if needed
      (@exit_status = fatal ? 3 : 2) unless exit_status == 3
    end
def after_hook
      return unless after && !@before_hook_failed

      Logger.info "After Hook Starting..."
      after.call(exit_status)
      Logger.info "After Hook Finished."

      set_exit_status # in case hook logged warnings
    rescue Exception => err
      fatal = !err.is_a?(StandardError)
      ex = fatal ? FatalError : Error
      Logger.error ex.wrap(err, "After Hook Failed!")
      # upgrade exit_status if needed
      (@exit_status = fatal ? 3 : 2) unless exit_status == 3
    end
Runs the +after+ hook.
 Any exception raised here will be logged only and the model's
 #exit_status will be elevated if neccessary.