- add docs to Serialize and ResultSetManager
David Kamholz [Mon, 6 Feb 2006 01:48:35 +0000 (01:48 +0000)]
- updated Changes

Changes
lib/DBIx/Class/ResultSetManager.pm
lib/DBIx/Class/Serialize.pm

diff --git a/Changes b/Changes
index 379310b..dba888d 100644 (file)
--- a/Changes
+++ b/Changes
@@ -7,6 +7,7 @@ Revision history for DBIx::Class
         - hack PK::Auto::Pg for "table" names referencing a schema
         - find() with attributes works
         - added experimental Serialize and ResultSetManager components
+        - added code attribute recording to DBIx::Class
         - fix to find() for complex resultsets
         - added of $storage->debugcb(sub { ... })
         - added $source->resultset_attributes accessor
index 258cc7c..9989b2e 100644 (file)
@@ -58,4 +58,37 @@ sub _register_resultset_class {
     }
 }
 
-1;
\ No newline at end of file
+1;
+
+__END__
+
+=head1 NAME 
+
+    DBIx::Class::ResultSetManager - helpful methods for managing resultset classes (EXPERIMENTAL)
+
+=head1 SYNOPSIS
+
+    # in a table class
+    __PACKAGE__->load_components(qw/ResultSetManager/);
+    __PACKAGE__->load_resultset_components(qw/AlwaysRS/);
+    
+    # will be removed from the table class and inserted into a table-specific resultset class
+    sub foo : resultset { ... }
+
+=head1 DESCRIPTION
+
+This package implements two useful features for customizing resultset classes.
+C<load_resultset_components> loads components in addition to C<DBIx::Class::ResultSet>
+(or whatever you set as C<base_resultset_class>). Any methods tagged with the C<resultset>
+attribute will be moved into a table-specific resultset class (by default called
+C<Class::_resultset>).
+
+=head1 AUTHORS
+
+David Kamholz <dkamholz@cpan.org>
+
+=head1 LICENSE
+
+You may distribute this code under the same terms as Perl itself.
+
+=cut
index 0db5176..86e3d2f 100644 (file)
@@ -14,10 +14,37 @@ sub STORABLE_thaw {
     my ($self,$cloning,$serialized) = @_;
     %$self = %{ thaw($serialized) };
     $self->result_source($self->result_source_instance);
-#    no strict 'refs';
-#    my $class = ${(ref $self) . '::ISA'}[0];
-#    my $schema = $self->result_source_instance->schema;
-#    $self->result_source($schema->source($class));
 }
 
-1;
\ No newline at end of file
+1;
+
+__END__
+
+=head1 NAME 
+
+    DBIx::Class::Serialize - hooks for Storable freeze/thaw (EXPERIMENTAL)
+
+=head1 SYNOPSIS
+
+    # in a table class definition
+    __PACKAGE__->load_components(qw/Serialize/);
+    
+    # meanwhile, in a nearby piece of code
+    my $obj = $schema->resultset('Foo')->find(12);
+    $cache->set($obj->ID, $obj); # if the cache uses Storable, this will work automatically
+
+=head1 DESCRIPTION
+
+This component adds hooks for Storable so that row objects can be serialized. It assumes that
+your row object class (C<result_class>) is the same as your table class, which is the normal
+situation. However, this code is not yet well tested, and so should be considered experimental.
+
+=head1 AUTHORS
+
+David Kamholz <dkamholz@cpan.org>
+
+=head1 LICENSE
+
+You may distribute this code under the same terms as Perl itself.
+
+=cut