use strict;
use warnings;
+use Carp qw/croak/;
use overload
'0+' => 'count',
'bool' => sub { 1; },
sub count {
my $self = shift;
return $self->search(@_)->count if @_ && defined $_[0];
- die "Unable to ->count with a GROUP BY" if defined $self->{attrs}{group_by};
+ croak "Unable to ->count with a GROUP BY" if defined $self->{attrs}{group_by};
unless (defined $self->{count}) {
my $attrs = { %{ $self->{attrs} },
select => { 'count' => '*' },
sub update {
my ($self, $values) = @_;
- die "Values for update must be a hash" unless ref $values eq 'HASH';
+ croak "Values for update must be a hash" unless ref $values eq 'HASH';
return $self->{source}->storage->update(
$self->{source}->from, $values, $self->{cond});
}
sub update_all {
my ($self, $values) = @_;
- die "Values for update must be a hash" unless ref $values eq 'HASH';
+ croak "Values for update must be a hash" unless ref $values eq 'HASH';
foreach my $obj ($self->all) {
$obj->set_columns($values)->update;
}
sub pager {
my ($self) = @_;
my $attrs = $self->{attrs};
- die "Can't create pager for non-paged rs" unless $self->{page};
+ croak "Can't create pager for non-paged rs" unless $self->{page};
$attrs->{rows} ||= 10;
$self->count;
return $self->{pager} ||= Data::Page->new(