Commit | Line | Data |
---|---|---|
e59193fb | 1 | |
e59193fb | 2 | package MooseX::Storage; |
3 | ||
4 | sub 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 | ||
14 | package MooseX::Storage::Base; | |
15 | use Moose::Role; | |
16 | ||
e9739624 | 17 | requires 'pack'; |
18 | requires 'unpack'; | |
e59193fb | 19 | |
20 | requires 'freeze'; | |
21 | requires 'thaw'; | |
22 | ||
e9739624 | 23 | requires 'load'; |
24 | requires 'store'; | |
25 | ||
e59193fb | 26 | 1; |
27 | ||
e9739624 | 28 | __END__ |
29 | ||
30 | =pod | |
31 | ||
32 | =cut |