Commit | Line | Data |
e59193fb |
1 | |
2 | package MooseX::Storage::JSON; |
3 | use Moose::Role; |
4 | |
5 | with 'MooseX::Storage::Base'; |
6 | |
7 | use JSON::Syck; |
8 | use MooseX::Storage::Engine; |
9 | |
10 | has '_storage' => ( |
11 | is => 'ro', |
12 | isa => 'MooseX::Storage::Engine', |
13 | default => sub { |
14 | my $self = shift; |
15 | warn "Building Storage Engine\n"; |
16 | MooseX::Storage::Engine->new(object => $self); |
17 | }, |
18 | handles => { |
19 | 'pack' => 'collapse_object', |
20 | # unpack here ... |
21 | } |
22 | ); |
23 | |
24 | sub load {} |
25 | sub store {} |
26 | sub thaw {} |
27 | |
28 | sub freeze { |
29 | my $self = shift; |
30 | JSON::Syck::Dump($self->pack()); |
31 | } |
32 | |
33 | |
34 | 1; |
35 | __END__ |