use strict;
use warnings;
use base qw/Class::Accessor::Grouped Class::C3::Componentised/;
+use namespace::autoclean;
use Class::C3;
use Carp::Clan qw/^DBIx::Class/;
use DBIx::Class::Schema::Loader::RelBuilder;
use File::Temp qw//;
use Class::Unload;
use Class::Inspector ();
+use Data::Dumper::Concise;
+use Scalar::Util 'looks_like_number';
require DBIx::Class;
-our $VERSION = '0.05002';
+our $VERSION = '0.05003';
__PACKAGE__->mk_group_ro_accessors('simple', qw/
schema
=cut
-use constant CURRENT_V => 'v5';
+my $CURRENT_V = 'v5';
-use constant CLASS_ARGS => qw(
+my @CLASS_ARGS = qw(
schema_base_class result_base_class additional_base_classes
left_base_classes additional_classes components resultset_components
);
if ($self->naming) {
for (values %{ $self->naming }) {
- $_ = CURRENT_V if $_ eq 'current';
+ $_ = $CURRENT_V if $_ eq 'current';
}
}
$self->{naming} ||= {};
my ($v) = $real_ver =~ /([1-9])/;
$v = "v$v";
- last if $v eq CURRENT_V || $real_ver =~ /^0\.\d\d999/;
+ last if $v eq $CURRENT_V || $real_ver =~ /^0\.\d\d999/;
if (not %{ $self->naming }) {
warn <<"EOF" unless $ENV{SCHEMA_LOADER_BACKCOMPAT};
my $self = shift;
my $args = shift;
- foreach my $k (CLASS_ARGS) {
+ foreach my $k (@CLASS_ARGS) {
next unless $self->$k;
my @classes = ref $self->$k eq 'ARRAY' ? @{ $self->$k } : $self->$k;
my $s = $attrs->{$_};
$s = !defined $s ? 'undef' :
length($s) == 0 ? '(empty string)' :
- ref($s) eq 'SCALAR' ? $$s :
- $s
+ ref($s) eq 'SCALAR' ? $$s :
+ ref($s) ? do {
+ my $dd = Dumper;
+ $dd->Indent(0);
+ $dd->Values([$s]);
+ $dd->Dump;
+ } :
+ looks_like_number($s) ? $s :
+ qq{'$s'}
;
" $_: $s"