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