oracular (3) Bot::BasicBot::Pluggable::Store.3pm.gz

Provided by: libbot-basicbot-pluggable-perl_1.20-3_all bug

NAME

       Bot::BasicBot::Pluggable::Store - base class for the back-end pluggable store

VERSION

       version 1.20

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 "new" method, blesses a hash into the right class and puts any key/value pairs passed to it
           into the blessed hash. If called with an hash argument as its first argument, new_from_hashref will
           be run with the hash as its only argument. See "new_from_hashref" for the possible keys and values.
           You can also pass a string and it will try to call new_from_hashref with a hash reference { type =>
           $string }. Calls "load()" to load any internal variables, then "init", which you can also override in
           your module.

       new_from_hashref( $hashref )
           Intended to be called as class method to dynamically create a store object. It expects a hash
           reference as its only argument. The only required hash element is a string specified by type. This
           should be either a fully qualified classname or a colonless string that is appended to
           Bot::BasicBot::Pluggable::Store. All other arguments are passed down to the real object constructor.

       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 $regex then it will only pass the keys matching $regex

       get($namespace, $variable)
           Returns the stored value of the $variable from $namespace.

       set($namespace, $variable, $value)
           Sets stored value for $variable to $value in $namespace. Returns store object.

       unset($namespace, $variable)
           Removes the $variable from 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 );

           "dump" is written generally so you don't have to re-implement it in subclasses.

       restore($data)
           Restores the store from a dump().

AUTHOR

       Mario Domgoergen <mdom@cpan.org>

       This program is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself.

SEE ALSO

       Bot::BasicBot::Pluggable

       Bot::BasicBot::Pluggable::Module