now with thaw as well as freeze, see TODOs
[gitmo/MooseX-Storage.git] / lib / MooseX / Storage.pm
CommitLineData
e59193fb 1
e59193fb 2package MooseX::Storage;
3
4sub import {
5 my $pkg = caller();
6 $pkg->meta->alias_method('Storage' => sub {
e9739624 7 my $engine_name = 'MooseX::Storage::' . (shift);
8 Class::MOP::load_class($engine_name)
9 || die "Could not load engine ($engine_name) for package ($pkg)";
10 return $engine_name;
e59193fb 11 });
12}
13
14package MooseX::Storage::Base;
15use Moose::Role;
16
e9739624 17requires 'pack';
18requires 'unpack';
e59193fb 19
20requires 'freeze';
21requires 'thaw';
22
e9739624 23requires 'load';
24requires 'store';
25
e59193fb 261;
27
e9739624 28__END__
29
30=pod
31
32=cut