
KiokuDB::Backend::Serialize - Serialization role for backends

package KiokuDB::Backend::Serialize::Foo;
use Moose::Role;
use Foo;
use namespace::clean -except => 'meta';
with qw(KiokuDB::Backend::Serialize);
sub serialize {
my ( $self, $entry ) = @_;
Foo::serialize($entry)
}
sub deserialize {
my ( $self, $blob ) = @_;
Foo::deserialize($blob);
}

This role provides provides a consistent way to use serialization modules to handle backend serialization.
See KiokuDB::Backend::Serialize::Storable, KiokuDB::Backend::Serialize::YAML and KiokuDB::Backend::Serialize::JSON for examples.

Takes a KiokuDB::Entry as an argument. Should return a value suitable for storage by the backend.
Takes whatever serializate returned and should inflate and return a KiokuDB::Entry.