lib/async/container/notify/client.rb in async-container-0.16.6 vs lib/async/container/notify/client.rb in async-container-0.16.7

- old
+ new

@@ -1,8 +1,7 @@ # frozen_string_literal: true -# # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com> # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights @@ -21,39 +20,55 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. module Async module Container + # Handles the details of several process readiness protocols. module Notify class Client + # Notify the parent controller that the child has become ready, with a brief status message. + # @parameters message [Hash] Additional details to send with the message. def ready!(**message) send(ready: true, **message) end + # Notify the parent controller that the child is reloading. + # @parameters message [Hash] Additional details to send with the message. def reloading!(**message) message[:ready] = false message[:reloading] = true message[:status] ||= "Reloading..." send(**message) end + # Notify the parent controller that the child is restarting. + # @parameters message [Hash] Additional details to send with the message. def restarting!(**message) message[:ready] = false message[:reloading] = true message[:status] ||= "Restarting..." send(**message) end + # Notify the parent controller that the child is stopping. + # @parameters message [Hash] Additional details to send with the message. def stopping!(**message) message[:stopping] = true + + send(**message) end + # Notify the parent controller of a status change. + # @parameters text [String] The details of the status change. def status!(text) send(status: text) end + # Notify the parent controller of an error condition. + # @parameters text [String] The details of the error condition. + # @parameters message [Hash] Additional details to send with the message. def error!(text, **message) send(status: text, **message) end end end