| Class | Irc::BotRegistryAccessor |
| In: |
lib/rbot/registry.rb
|
| Parent: | Object |
If you don’t need to store objects, and strictly want a persistant hash of strings, you can override the store/restore methods to suit your needs, for example (in your plugin):
def initialize
class << @registry
def store(val)
val
end
def restore(val)
val
end
end
end
Your plugins section of the registry is private, it has its own namespace (derived from the plugin’s class name, so change it and lose your data). Calls to registry.each etc, will only iterate over your namespace.
plugins don’t call this - a BotRegistryAccessor is created for them and is accessible via @registry.
restores object from string form, restore(store(val)) must return val. If you override store, you should override restore to reverse the action. For example, if you always just handle strings use:
def restore(val)
val
end
set the default value for registry lookups, if the key sought is not found, the default will be returned. The default default (har) is nil.
convert value to string form for storing in the registry defaults to Marshal.dump(val) but you can override this in your module’s registry object to use any method you like. For example, if you always just handle strings use:
def store(val)
val
end