class Divebar::PluginList
Attributes
list[R]
threads[R]
Public Class Methods
new(instance_bind)
click to toggle source
# File lib/divebar/pluginlist.rb, line 7 def initialize(instance_bind) @list = [] @threads = [] @instance = instance_bind end
Public Instance Methods
register(plugin, **options)
click to toggle source
# File lib/divebar/pluginlist.rb, line 13 def register(plugin, **options) case plugin.class when String @list << get_class(plugin).new(@instance, options) @threads << @list.last.start when Class @list << plugin.new(@instance, options) @threads << @list.last.start else raise ArgumentError, 'Expected Class Name or Class.to_s for plugin' end end
Private Instance Methods
get_class(str)
click to toggle source
# File lib/divebar/pluginlist.rb, line 26 def get_class(str) str.split('::').inject(Object) do |mod, class_name| mod.const_get(class_name) end end