Large output when using Data::Dump(er) since this class can be set to
stringify to almost nothing
-=item *
-
-Closer to being able to do a Serialize::Storable that doesn't require class-based connections
-
=back
=head1 METHODS
my ($self, $cloning) = @_;
my $to_serialize = { %$self };
-
- my $class = $self->schema->class($self->source_moniker);
- $to_serialize->{schema} = $class;
- return (Storable::freeze($to_serialize));
+
+ delete $to_serialize->{schema};
+ $to_serialize->{_frozen_from_class} = $self->schema->class($self->source_moniker);
+
+ return (Storable::nfreeze($to_serialize));
}
=head2 STORABLE_thaw
Thaws frozen handle. Resets the internal schema reference to the package
-variable C<$thaw_schema>. The recomened way of setting this is to use
-C<$schema->thaw($ice)> which handles this for you.
+variable C<$thaw_schema>. The recommended way of setting this is to use
+C<< $schema->thaw($ice) >> which handles this for you.
=cut
sub STORABLE_thaw {
- my ($self, $cloning,$ice) = @_;
+ my ($self, $cloning, $ice) = @_;
%$self = %{ Storable::thaw($ice) };
- my $class = delete $self->{schema};
+ my $class = delete $self->{_frozen_from_class};
if( $thaw_schema ) {
$self->{schema} = $thaw_schema;
}
$self->{schema} = $rs->schema if $rs;
}
- carp "Unable to restore schema" unless $self->{schema};
+ carp "Unable to restore schema. Look at 'freeze' and 'thaw' methods in DBIx::Class::Schema."
+ unless $self->{schema};
}
=head1 AUTHOR