After 5e0eea35 we can actually test for cleaned namespaces within CDBI
Peter Rabbitson [Tue, 19 Apr 2016 10:54:46 +0000 (12:54 +0200)]
lib/DBIx/Class/CDBICompat/AttributeAPI.pm
lib/DBIx/Class/CDBICompat/ColumnGroups.pm
lib/DBIx/Class/CDBICompat/Constructor.pm
lib/DBIx/Class/CDBICompat/Copy.pm
lib/DBIx/Class/CDBICompat/ImaDBI.pm
lib/DBIx/Class/CDBICompat/LiveObjectIndex.pm
lib/DBIx/Class/CDBICompat/Pager.pm
lib/DBIx/Class/CDBICompat/Relationship.pm
lib/DBIx/Class/CDBICompat/Relationships.pm
lib/DBIx/Class/CDBICompat/TempColumns.pm
xt/extra/internals/namespaces_cleaned.t

index c847a39..1e76186 100644 (file)
@@ -11,7 +11,7 @@ sub _attrs {
   return @{$self->{_column_data}}{@atts};
 }
 
-*_attr = \&_attrs;
+sub _attr { shift->_attrs(@_) }
 
 sub _attribute_store {
   my $self   = shift;
index 44a6010..c5623ca 100644 (file)
@@ -137,15 +137,11 @@ sub _mk_group_accessors {
 
     ($name, $field) = @$field if ref $field;
 
-    my $accessor = $class->$maker($group, $field);
-    my $alias = "_${name}_accessor";
-
-    # warn "  $field $alias\n";
-    {
-      no strict 'refs';
-
-      $class->_deploy_accessor($name,  $accessor);
-      $class->_deploy_accessor($alias, $accessor);
+    for( $name, "_${name}_accessor" ) {
+      $class->_deploy_accessor(
+        $_,
+        $class->$maker($group, $field, $_)
+      );
     }
   }
 }
index 65ce576..78c6d33 100644 (file)
@@ -8,6 +8,7 @@ use base 'DBIx::Class::CDBICompat::ImaDBI';
 
 use Carp;
 use DBIx::Class::_Util qw(quote_sub perlstring);
+use namespace::clean;
 
 __PACKAGE__->set_sql(Retrieve => <<'');
 SELECT __ESSENTIAL__
index ec2e9ca..59780e6 100644 (file)
@@ -7,6 +7,7 @@ use warnings;
 use base 'DBIx::Class';
 
 use Carp;
+use namespace::clean;
 
 =head1 NAME
 
index 7a88d15..ee9aae0 100644 (file)
@@ -4,10 +4,12 @@ package # hide from PAUSE
 use strict;
 use warnings;
 use DBIx::ContextualFetch;
-use DBIx::Class::_Util qw(quote_sub perlstring);
 
 use base 'DBIx::Class';
 
+use DBIx::Class::_Util qw(quote_sub perlstring);
+use namespace::clean;
+
 __PACKAGE__->mk_classdata('sql_transformer_class' =>
                           'DBIx::Class::CDBICompat::SQLTransformer');
 
index 970b2d9..de17f97 100644 (file)
@@ -5,6 +5,7 @@ use strict;
 use warnings;
 
 use Scalar::Util qw/weaken/;
+use namespace::clean;
 
 use base 'DBIx::Class';
 
index c8f76fe..7316d9d 100644 (file)
@@ -10,7 +10,7 @@ use warnings FATAL => 'all';
 
 use base 'DBIx::Class';
 
-*pager = \&page;
+sub pager { shift->page(@_) }
 
 sub page {
   my $class = shift;
index f9d0769..54962cd 100644 (file)
@@ -7,6 +7,7 @@ use warnings;
 use base 'DBIx::Class';
 
 use DBIx::Class::_Util 'quote_sub';
+use namespace::clean;
 
 =head1 NAME
 
index abd6783..658305d 100644 (file)
@@ -9,6 +9,7 @@ use Clone;
 use DBIx::Class::CDBICompat::Relationship;
 use Scalar::Util 'blessed';
 use DBIx::Class::_Util qw(quote_sub perlstring);
+use namespace::clean;
 
 __PACKAGE__->mk_classdata('__meta_info' => {});
 
index 3a111ee..9783d6a 100644 (file)
@@ -6,6 +6,7 @@ use warnings;
 use base 'DBIx::Class';
 
 use Carp;
+use namespace::clean;
 
 __PACKAGE__->mk_classdata('_temp_columns' => { });
 
index 3f70262..01650d5 100644 (file)
@@ -65,8 +65,7 @@ my @modules = grep {
 # have an exception table for old and/or weird code we are not sure
 # we *want* to clean in the first place
 my $skip_idx = { map { $_ => 1 } (
-  (grep { /^DBIx::Class::CDBICompat/ } @modules), # too crufty to touch
-  'SQL::Translator::Producer::DBIx::Class::File', # ditto
+  'SQL::Translator::Producer::DBIx::Class::File', # too crufty to touch
 
   # not sure how to handle type libraries
   'DBIx::Class::Storage::DBI::Replicated::Types',
@@ -146,6 +145,9 @@ for my $mod (@modules) {
         # exception time
         if (
           ( $name eq 'import' and $via = 'Exporter' )
+            or
+          # jesus christ nobody had any idea how to design an interface back then
+          ( $name =~ /_trigger/ and $via = 'Class::Trigger' )
         ) {
           pass("${mod}::${name} is a valid uncleaned import from ${name}");
         }