Commit | Line | Data |
ed28f830 |
1 | package DBIx::Class::Serialize; |
2 | use strict; |
3 | use Storable qw/freeze thaw/; |
4 | |
5 | sub STORABLE_freeze { |
6 | my ($self,$cloning) = @_; |
7 | return if $cloning; |
8 | my $to_serialize = { %$self }; |
9 | delete $to_serialize->{result_source}; |
10 | return (freeze($to_serialize)); |
11 | } |
12 | |
13 | sub STORABLE_thaw { |
14 | my ($self,$cloning,$serialized) = @_; |
15 | %$self = %{ thaw($serialized) }; |
49354ee3 |
16 | $self->result_source($self->result_source_instance); |
c5b7d799 |
17 | # no strict 'refs'; |
49354ee3 |
18 | # my $class = ${(ref $self) . '::ISA'}[0]; |
19 | # my $schema = $self->result_source_instance->schema; |
20 | # $self->result_source($schema->source($class)); |
ed28f830 |
21 | } |
22 | |
23 | 1; |