Module: Lita::Registry::Mixins
- Included in:
- Lita, Lita::Registry
- Defined in:
- lib/lita/registry.rb
Overview
Allows a registry to be added to another object.
Instance Method Summary collapse
-
#adapters ⇒ Hash
A registry of adapters.
-
#config ⇒ Lita::Configuration
The primary configuration object.
-
#configure {|config| ... } ⇒ void
Yields the configuration object.
-
#handlers ⇒ Set
A registry of handlers.
-
#hooks ⇒ Hash
A registry of hook handler objects.
- #register_adapter(key, adapter = nil, &block) ⇒ Object
- #register_handler(handler_or_key, &block) ⇒ Object
-
#register_hook(name, hook) ⇒ void
Adds a hook handler object to the registry for the given hook.
-
#reset ⇒ void
Clears the configuration object and the adapter, handler, and hook registries.
-
#reset_adapters ⇒ void
Resets the adapter registry, removing all registered adapters.
-
#reset_config ⇒ void
(also: #clear_config)
Resets the configuration object.
-
#reset_handlers ⇒ void
Resets the handler registry, removing all registered handlers.
-
#reset_hooks ⇒ void
Resets the hooks registry, removing all registered hook handlers.
Instance Method Details
#adapters ⇒ Hash
A registry of adapters.
22 23 24 |
# File 'lib/lita/registry.rb', line 22 def adapters @adapters ||= {} end |
#config ⇒ Lita::Configuration
The primary configuration object. Provides user settings for the robot.
9 10 11 |
# File 'lib/lita/registry.rb', line 9 def config @config ||= DefaultConfiguration.new(self).build end |
#configure {|config| ... } ⇒ void
This method returns an undefined value.
Yields the configuration object. Called by the user in a lita_config.rb
file.
16 17 18 |
# File 'lib/lita/registry.rb', line 16 def configure yield config end |
#handlers ⇒ Set
A registry of handlers.
28 29 30 |
# File 'lib/lita/registry.rb', line 28 def handlers @handlers ||= Set.new end |
#hooks ⇒ Hash
A registry of hook handler objects.
35 36 37 |
# File 'lib/lita/registry.rb', line 35 def hooks @hooks ||= Hash.new { |h, k| h[k] = Set.new } end |
#register_adapter(key, adapter) ⇒ void #register_adapter(key) { ... } ⇒ void
50 51 52 53 54 55 56 57 58 |
# File 'lib/lita/registry.rb', line 50 def register_adapter(key, adapter = nil, &block) adapter = PluginBuilder.new(key, &block).build_adapter if block unless adapter.is_a?(Class) raise ArgumentError, I18n.t("lita.core.register_adapter.block_or_class_required") end adapters[key.to_sym] = adapter end |
#register_handler(handler) ⇒ void #register_handler(key) { ... } ⇒ void
70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/lita/registry.rb', line 70 def register_handler(handler_or_key, &block) if block handler = PluginBuilder.new(handler_or_key, &block).build_handler else handler = handler_or_key unless handler.is_a?(Class) raise ArgumentError, I18n.t("lita.core.register_handler.block_or_class_required") end end handlers << handler end |
#register_hook(name, hook) ⇒ void
This method returns an undefined value.
Adds a hook handler object to the registry for the given hook.
87 88 89 |
# File 'lib/lita/registry.rb', line 87 def register_hook(name, hook) hooks[name.to_s.downcase.strip.to_sym] << hook end |
#reset ⇒ void
This method returns an undefined value.
Clears the configuration object and the adapter, handler, and hook registries.
94 95 96 97 98 99 |
# File 'lib/lita/registry.rb', line 94 def reset reset_adapters reset_config reset_handlers reset_hooks end |
#reset_adapters ⇒ void
This method returns an undefined value.
Resets the adapter registry, removing all registered adapters.
104 105 106 |
# File 'lib/lita/registry.rb', line 104 def reset_adapters @adapters = nil end |
#reset_config ⇒ void Also known as: clear_config
This method returns an undefined value.
Resets the configuration object. The next call to #config will create a fresh config object.
111 112 113 |
# File 'lib/lita/registry.rb', line 111 def reset_config @config = nil end |
#reset_handlers ⇒ void
This method returns an undefined value.
Resets the handler registry, removing all registered handlers.
119 120 121 |
# File 'lib/lita/registry.rb', line 119 def reset_handlers @handlers = nil end |
#reset_hooks ⇒ void
This method returns an undefined value.
Resets the hooks registry, removing all registered hook handlers.
126 127 128 |
# File 'lib/lita/registry.rb', line 126 def reset_hooks @hooks = nil end |