Catmandu::Bag - A Catmandu::Store compartment to persist data
my $store = Catmandu::Store::DBI->new(data_source => 'DBI:mysql:database=test'); my $store = Catmandu::Store::DBI->new( data_source => 'DBI:mysql:database=test', bags => { data => { fixes => [ ... ] } }, bag_class => Catmandu::Bag->with_plugins('Datestamps') ); # Use the default bag... my $bag = $store->bag; # Or a named bag... my $bag = $store->bag('journals'); # Every bag is an iterator... $bag->each(sub { ... }); $bag->take(10)->each(sub { ... }); $bag->add($hash); $bag->add_many($iterator); $bag->add_many([ $hash, $hash , ...]); # Commit changes... $bag->commit; my $obj = $bag->get($id); $bag->delete($id); $bag->delete_all;
Create a new Bag with optionally an array of fixes for each item.
Add one hash to the store or updates an existing hash by using its '_id' key. Returns the stored hash on success or undef on failure.
Add or update one or more items to the store.
Retrieves the item with identifier $id from the store.
Deletes the item with identifier $id from the store.
Deletes all items from the store.
Commit changes.
Return the current logger.
Plugins are a kind of fixes that should be available for each bag. E.g. the Datestamps plugin will automatically store into each bag item the fields 'date_updated' and 'date_created'. The with_plugins accept one or an array of plugin classnames and returns a subclass of the Bag with the plugin methods implemented.
Catmandu::Iterable, Catmandu::Searchable, Catmandu::Fix, Catmandu::Pluggable
To install Catmandu, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catmandu
CPAN shell
perl -MCPAN -e shell install Catmandu
For more information on module installation, please visit the detailed CPAN module installation guide.