version bump, deprecated ResultSetManager
Matt S Trout [Tue, 27 May 2008 13:31:58 +0000 (13:31 +0000)]
Changes
lib/DBIx/Class.pm
lib/DBIx/Class/ResultSetManager.pm
t/40resultsetmanager.t

diff --git a/Changes b/Changes
index d15c510..67882d6 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,6 @@
 Revision history for DBIx::Class
 
+        - mark ResultSetManager as deprecated and undocument it
         - pod fix (RT #32988)
         - add Test::Exception to test requirements (RT #34256)
         - make ash's build_requires/META.yml fixes work better
index 9147f46..98dc34a 100644 (file)
@@ -24,7 +24,9 @@ sub component_base_class { 'DBIx::Class' }
 # i.e. first release of 0.XX *must* be 0.XX000. This avoids fBSD ports
 # brain damage and presumably various other packaging systems too
 
-$VERSION = '0.08010';
+$VERSION = '0.08099_01';
+
+$VERSION = eval $VERSION; # numify for warning-free dev releases
 
 sub MODIFY_CODE_ATTRIBUTES {
   my ($class,$code,@attrs) = @_;
index 78461c9..721c84c 100644 (file)
@@ -4,38 +4,25 @@ use warnings;
 use base 'DBIx::Class';
 use Class::Inspector;
 
-=head1 NAME
-
-DBIx::Class::ResultSetManager - helpful methods for managing resultset
-classes (EXPERIMENTAL)
-
-=head1 SYNOPSIS
+warn "DBIx::Class::ResultSetManager never left experimental status and
+has now been DEPRECATED. This module will be deleted in 09000 so please
+migrate any and all code using it to explicit resultset classes using either
+__PACKAGE__->resultset_class(...) calls or by switching from using
+DBIx::Class::Schema->load_classes() to load_namespaces() and creating
+appropriate My::Schema::ResultSet::* classes for it to pick up.";
 
-  # in a table class
-  __PACKAGE__->load_components(qw/ResultSetManager Core/); # note order!
-
-  # will be removed from the table class and inserted into a
-  # table-specific resultset class
-  sub search_by_year_desc : ResultSet {
-    my $self = shift;
-    my $cond = shift;
-    my $attrs = shift || {};
-    $attrs->{order_by} = 'year DESC';
-    $self->search($cond, $attrs);
-  }
+=head1 NAME
 
-  $rs = $schema->resultset('CD')->search_by_year_desc({ artist => 'Tool' });
+DBIx::Class::ResultSetManager - scheduled for deletion in 09000
 
 =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>, but configurable via
-C<table_resultset_class_suffix>).  Most of the magic is done when you
-call C<< __PACKAGE__->table >>.
+DBIx::Class::ResultSetManager never left experimental status and
+has now been DEPRECATED. This module will be deleted in 09000 so please
+migrate any and all code using it to explicit resultset classes using either
+__PACKAGE__->resultset_class(...) calls or by switching from using
+DBIx::Class::Schema->load_classes() to load_namespaces() and creating
+appropriate My::Schema::ResultSet::* classes for it to pick up.";
 
 =cut
 
@@ -44,17 +31,6 @@ __PACKAGE__->mk_classdata($_)
 __PACKAGE__->base_resultset_class('DBIx::Class::ResultSet');
 __PACKAGE__->table_resultset_class_suffix('::_resultset');
 
-=head2 table
-
-Stacks on top of the normal L<DBIx::Class> C<table> method.  Any
-methods tagged with the C<ResultSet> attribute will be moved into a
-table-specific resultset class (by default called
-C<Class::_resultset>, but configurable via
-C<table_resultset_class_suffix>).  The magic for this is done within
-this C<< __PACKAGE__->table >> call.
-
-=cut
-
 sub table {
     my ($self,@rest) = @_;
     my $ret = $self->next::method(@rest);
@@ -65,14 +41,6 @@ sub table {
     return $ret;
 }
 
-=head2 load_resultset_components
-
-C<load_resultset_components> loads components in addition to
-C<DBIx::Class::ResultSet> (or whatever you set as
-C<base_resultset_class>).
-
-=cut
-
 sub load_resultset_components {
     my ($self,@comp) = @_;
     my $resultset_class = $self->_setup_resultset_class;
@@ -119,13 +87,3 @@ sub _register_resultset_class {
 }
 
 1;
-
-=head1 AUTHORS
-
-David Kamholz <dkamholz@cpan.org>
-
-=head1 LICENSE
-
-You may distribute this code under the same terms as Perl itself.
-
-=cut
index 8389291..26707f0 100644 (file)
@@ -15,6 +15,11 @@ BEGIN {
   }
 }
 
+BEGIN {
+  local $SIG{__WARN__} = sub {};
+  require DBIx::Class::ResultSetManager;
+}
+
 use DBICTest::ResultSetManager; # uses Class::Inspector
 
 my $schema = DBICTest::ResultSetManager->compose_namespace('DB');