NAME

App::TeleGramma::Store - Persistent datastore for TeleGramma and plugins

VERSION

version 0.08

SYNOPSIS

my $store = App::TeleGramma::Store->new(path => "/some/dir");
my $hashref1 = $store->hash('mydata-1');
$hashref1->{foo} = 'bar';
$hashref1->{bar} = 'baz';
$store->save('mydata-1');  # persisted

my $hashref2 = $store->hash('mydata-2'); # new data structure
$hashref2->{users} = [ qw/ a b c / ];

$store->save_all;  # persist data in both the 'mydata1' hash and the 'mydata2' hash

METHODS

hash

Return the hash reference for a named entry in your data store. Note that the names become disk filenames, and thus must consist of alphanumeric characters or '-' only.

save

Save a named hash to the data store.

References are saved using Storable and the limitations in terms of data stored can be found in that documenation.

In general, if you stick with simple hashrefs, arrayrefs and scalars you will be fine.

save_all

Persist all named hashrefs to the store at once.

AUTHOR

Justin Hawkins <justin@eatmorecode.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Justin Hawkins <justin@eatmorecode.com>.

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