module Qonfig::Plugins
@api public @since 0.4.0
Attributes
access_lock[R]
@return [Mutex]
@api private @since 0.4.0
plugin_registry[R]
@return [Qonfig::Plugins::Registry]
@api private @since 0.4.0
Public Class Methods
load(plugin_name)
click to toggle source
@param plugin_name [Symbol, String] @return [void]
@api public @since 0.4.0
# File lib/qonfig/plugins.rb, line 24 def load(plugin_name) thread_safe { plugin_registry[plugin_name].load! } end
loaded_plugins()
click to toggle source
@return [Array<String>]
@api public @since 0.19.0
# File lib/qonfig/plugins.rb, line 32 def loaded_plugins thread_safe do plugin_registry.select do |_plugin_name, plugin_module| plugin_module.loaded? end.map do |plugin_name, _plugin_module| plugin_name end end end
names()
click to toggle source
@return [Array<String>]
@api public @since 0.4.0
# File lib/qonfig/plugins.rb, line 46 def names thread_safe { plugin_registry.names } end
register_plugin(plugin_name, plugin_module)
click to toggle source
@param plugin_name [Symbol, String] @return [void]
@api private @since 0.4.0
# File lib/qonfig/plugins.rb, line 55 def register_plugin(plugin_name, plugin_module) thread_safe { plugin_registry[plugin_name] = plugin_module } end
Private Class Methods
thread_safe() { || ... }
click to toggle source
@return [void]
@api private @since 0.4.0
# File lib/qonfig/plugins.rb, line 77 def thread_safe access_lock.synchronize { yield if block_given? } end