From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

# ABSTRACT: Attributes and methods for all Schema::Result objects
#------------------------------------------------------------------------------
our $VERSION = '0.062'; # VERSION
#------------------------------------------------------------------------------
has logger => (
is => 'ro',
isa => 'Pinto::Logger',
handles => [ qw(debug info notice warning error fatal) ],
default => sub { $_[0]->result_source->schema->logger },
lazy => 1,
);
#------------------------------------------------------------------------------
sub refresh {
my ($self) = @_;
$self->discard_changes;
return $self;
}
#------------------------------------------------------------------------------
1;
=pod
=for :stopwords Jeffrey Ryan Thalhammer Imaginative Software Systems
=head1 NAME
Pinto::Role::Schema::Result - Attributes and methods for all Schema::Result objects
=head1 VERSION
version 0.062
=head1 DESCRIPTION
This role adds a L<Pinto::Logger> attributes. It should only be
applied to L<Pinto::Schema::Result> subclasses, as it will reach into
the underlying L<Pinto::Schema> object to get at the logger.
This gives us a back door for injecting additional attributes into
L<Pinto::Schema::Result> objects, since those are usually created by
L<DBIx::Class> and we don't have control over the construction
process.
=head1 AUTHOR
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Imaginative Software Systems.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
__END__