module RabbotMetaOutputQueue
RabbotMetaOutputQueue — clear pending plugin output waiters per channel. Public: install!, clear_for_bot Depends: Bot::PluginOutputQueue (plugins/bot.rb) Tests: test/plugins/rabbot_meta_test.rb
Public Instance Methods
Source
# File lib/rabbot_meta_output_queue.rb, line 43 def clear_for_bot(bot:, channel_key:, queue_class: nil) install! queue_class ||= defined?(Bot) ? Bot::PluginOutputQueue : nil raise ArgumentError, "queue_class is required" unless queue_class queue = queue_class.for_bot(bot) cleared_waiters = queue.clear_waiters!(channel_key) active_plugin = queue.active_plugin(channel_key) { cleared_waiters: cleared_waiters, active_plugin: active_plugin } end
Source
# File lib/rabbot_meta_output_queue.rb, line 29 def install!(klass = nil) return if @installed klass ||= defined?(Bot) ? Bot::PluginOutputQueue : nil return unless klass klass.prepend(ClearWaiters) @installed = true end
Source
# File lib/rabbot_meta_output_queue.rb, line 39 def reset_install! @installed = false end