Class: Droonga::PluginRegistry
- Inherits:
-
Object
- Object
- Droonga::PluginRegistry
- Includes:
- Enumerable
- Defined in:
- lib/droonga/plugin_registry.rb
Defined Under Namespace
Classes: UnknownPlugin
Instance Method Summary collapse
- #[](name) ⇒ Object
- #clear ⇒ Object
- #each(&block) ⇒ Object
- #find_sub_classes(name, klass) ⇒ Object
-
#initialize ⇒ PluginRegistry
constructor
A new instance of PluginRegistry.
- #register(name, plugin_module) ⇒ Object
Constructor Details
#initialize ⇒ PluginRegistry
Returns a new instance of PluginRegistry.
28 29 30 |
# File 'lib/droonga/plugin_registry.rb', line 28 def initialize @plugins = {} end |
Instance Method Details
#[](name) ⇒ Object
40 41 42 |
# File 'lib/droonga/plugin_registry.rb', line 40 def [](name) @plugins[name] end |
#clear ⇒ Object
44 45 46 |
# File 'lib/droonga/plugin_registry.rb', line 44 def clear @plugins.clear end |
#each(&block) ⇒ Object
32 33 34 |
# File 'lib/droonga/plugin_registry.rb', line 32 def each(&block) @plugins.each(&block) end |
#find_sub_classes(name, klass) ⇒ Object
48 49 50 51 52 53 54 55 56 |
# File 'lib/droonga/plugin_registry.rb', line 48 def find_sub_classes(name, klass) plugin_module = self[name] if plugin_module.nil? raise UnknownPlugin.new(name, klass) end sub_classes = [] collect_sub_classes_recursive(plugin_module, klass, sub_classes) sub_classes end |
#register(name, plugin_module) ⇒ Object
36 37 38 |
# File 'lib/droonga/plugin_registry.rb', line 36 def register(name, plugin_module) @plugins[name] = plugin_module end |