class Seahorse::Client::PluginList
def _add(plugin)
def _add(plugin) @plugins << PluginWrapper.new(plugin) end
def add(plugin)
-
(void)-
Parameters:
-
plugin(Plugin) --
def add(plugin) @mutex.synchronize do _add(plugin) end nil end
def each(&block)
-
(Enumerator)-
def each(&block) each_plugin do |plugin_wrapper| yield(plugin_wrapper.plugin) end end
def each_plugin(&block)
def each_plugin(&block) @mutex.synchronize do @plugins.each(&block) end end
def initialize(plugins = [], options = {})
(**options)-
:mutex(Mutex) --
Parameters:
-
plugins(Array, Set) --
def initialize(plugins = [], options = {}) @mutex = options[:mutex] || Mutex.new @plugins = Set.new if plugins.is_a?(PluginList) plugins.send(:each_plugin) { |plugin| _add(plugin) } else plugins.each { |plugin| _add(plugin) } end end
def remove(plugin)
-
(void)-
Parameters:
-
plugin(Plugin) --
def remove(plugin) @mutex.synchronize do @plugins.delete(PluginWrapper.new(plugin)) end nil end
def set(plugins)
-
(void)-
Parameters:
-
plugins(Array) --
def set(plugins) @mutex.synchronize do @plugins.clear plugins.each do |plugin| _add(plugin) end end nil end