- Switch all serialization to use Storable::nfreeze for portable
architecture independent ice
- Fix the bogus META.yml dependency injection issue for good
+ - Refactor DBIx::Class::Storage::Statistics::debugfh() to be lazy
0.08124 2010-10-28 14:23 (UTC)
* New Features / Changes
use base qw/DBIx::Class/;
use IO::File;
-__PACKAGE__->mk_group_accessors(simple => qw/callback debugfh silence/);
+__PACKAGE__->mk_group_accessors(simple => qw/callback _debugfh silence/);
=head1 NAME
should be set to STDERR - although see information on the
L<DBIC_TRACE> environment variable.
-=head2 print
-
-Prints the specified string to our debugging filehandle, which we will attempt
-to open if we haven't yet. Provided to save our methods the worry of how
-to display the message.
+As getter it will lazily open a filehandle for you if one is not already set.
=cut
-sub print {
- my ($self, $msg) = @_;
- return if $self->silence;
+sub debugfh {
+ my $self = shift;
- if(!defined($self->debugfh())) {
+ if (@_) {
+ $self->_debugfh($_[0]);
+ } elsif (!defined($self->_debugfh())) {
my $fh;
my $debug_env = $ENV{DBIX_CLASS_STORAGE_DBI_DEBUG}
|| $ENV{DBIC_TRACE};
}
$fh->autoflush();
- $self->debugfh($fh);
+ $self->_debugfh($fh);
}
+ $self->_debugfh;
+}
+
+=head2 print
+
+Prints the specified string to our debugging filehandle. Provided to save our
+methods the worry of how to display the message.
+
+=cut
+sub print {
+ my ($self, $msg) = @_;
+
+ return if $self->silence;
+
$self->debugfh->print($msg);
}