NAME

DBIx::Class::ResultSetManager - helpful methods for managing resultset classes (EXPERIMENTAL)

SYNOPSIS

# in a table class
__PACKAGE__->load_components(qw/ResultSetManager Core/); # note order!
__PACKAGE__->load_resultset_components(qw/AlwaysRS/);

# 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);
}

$rs = $schema->resultset('CD')->search_by_year_desc({ artist => 'Tool' });

DESCRIPTION

This package implements two useful features for customizing resultset classes. load_resultset_components loads components in addition to DBIx::Class::ResultSet (or whatever you set as base_resultset_class). Any methods tagged with the ResultSet attribute will be moved into a table-specific resultset class (by default called Class::_resultset, but configurable via table_resultset_class_suffix). Most of the magic is done when you call __PACKAGE__->table.

table

Stacks on top of the normal DBIx::Class table method. Any methods tagged with the ResultSet attribute will be moved into a table-specific resultset class (by default called Class::_resultset, but configurable via table_resultset_class_suffix). The magic for this is done within this __PACKAGE__->table call.

load_resultset_components

# in a table class
__PACKAGE__->load_components(qw/ResultSetManager Core/); # note order!
__PACKAGE__->load_resultset_components(qw/AlwaysRS/);

load_resultset_components loads components in addition to DBIx::Class::ResultSet (or whatever you set as base_resultset_class).

AUTHORS

David Kamholz <dkamholz@cpan.org>

LICENSE

You may distribute this code under the same terms as Perl itself.