module AnyCache::Plugins
@api public @since 0.5.0
Attributes
access_lock[R]
@return [Mutex]
@api private @since 0.5.0
plugin_registry[R]
@return [AnyCache::Plugins::Registry]
@api private @since 0.5.0
Public Class Methods
load(plugin_name)
click to toggle source
@param plugin_name [Symbol, String] @return [void]
@api public @since 0.5.0
# File lib/any_cache/plugins.rb, line 21 def load(plugin_name) thread_safe { plugin_registry[plugin_name].load! } end
names()
click to toggle source
@return [Array<String>]
@api public @since 0.5.0
# File lib/any_cache/plugins.rb, line 29 def names thread_safe { plugin_registry.names } end
register(plugin_name, plugin_module)
click to toggle source
@param plugin_name [Symbol, String] @return [void]
@api private @since 0.5.0
# File lib/any_cache/plugins.rb, line 38 def register(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.5.0
# File lib/any_cache/plugins.rb, line 60 def thread_safe access_lock.synchronize { yield if block_given? } end