NAME
Bot::BasicBot::Pluggable::Store - base class for the back-end pluggable store
SYNOPSIS
my $store = Bot::BasicBot::Pluggable::Store->new( option => "value" );
my $namespace = "MyModule";
for ( $store->keys($namespace) ) {
my $value = $store->get($namespace, $_);
$store->set( $namespace, $_, "$value and your momma." );
}
Store classes should subclass this and provide some persistent way of storing things.
METHODS
- new()
-
Standard
newmethod, blesses a hash into the right class and puts any key/value pairs passed to it into the blessed hash. Callsload()to load any internal variables, theninit, which you can also override in your module. - init()
-
Called as part of new class construction, before
load(). - load()
-
Called as part of new class construction, after
init(). - save()
-
Subclass me. But, only if you want to. See ...Store::Storable.pm as an example.
- keys($namespace,[$regex])
-
Returns a list of all store keys for the passed
$namespace.If you pass
$regexthen it will only pass the keys matching$regex - get($namespace, $variable)
-
Returns the stored value of the
$variablefrom$namespace. - set($namespace, $variable, $value)
-
Sets stored value for
$variableto$valuein$namespace. Returns store object. - unset($namespace, $variable)
-
Removes the
$variablefrom the store. Returns store object. - namespaces()
-
Returns a list of all namespaces in the store.
- dump()
-
Dumps the complete store to a huge Storable scalar. This is mostly so you can convert from one store to another easily, i.e.:
my $from = Bot::BasicBot::Pluggable::Store::Storable->new(); my $to = Bot::BasicBot::Pluggable::Store::DBI->new( ... ); $to->restore( $from->dump );dumpis written generally so you don't have to re-implement it in subclasses. - restore($data)
-
Restores the store from a dump().
AUTHOR
Tom Insam <tom@jerakeen.org>
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.