class PluginReloadSignal
Constants
- POLL_INTERVAL
Public Class Methods
Source
# File lib/plugin_reload_signal.rb, line 13 def request! # Signal traps cannot use Mutex#synchronize (ThreadError in trap context). @requested = true end
Public Instance Methods
Source
# File lib/plugin_reload_signal.rb, line 38 def log_reload_result(result) reloaded_libs = Array(result[:reloaded_libs]) return if result[:reloaded].empty? && reloaded_libs.empty? && result[:errors].empty? lines = [] unless reloaded_libs.empty? lines << "Reloaded libs: #{reloaded_libs.length} file(s)" end unless result[:reloaded].empty? lines << "Reloaded plugins: #{result[:reloaded].join(', ')}" end result[:errors].each { |error| lines << "Reload error: #{error}" } puts lines.join("\n") end
Source
# File lib/plugin_reload_signal.rb, line 29 def poll_reload return unless self.class.requested? self.class.clear! require "rabbot_meta" unless defined?(RabbotMeta) result = RabbotMeta.reload_registered_plugins(bot) log_reload_result(result) end