Introduce GOVERNANCE document and empty RESOLUTIONS file.
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Schema / SanityChecker.pm
index 481d0f7..ccfc0f3 100644 (file)
@@ -8,7 +8,6 @@ use DBIx::Class::_Util qw(
   describe_class_methods emit_loud_diag
 );
 use DBIx::Class ();
-use DBIx::Class::Exception ();
 use Scalar::Util qw( blessed refaddr );
 use namespace::clean;
 
@@ -341,8 +340,8 @@ sub format_no_indirect_method_overrides_errors {
   . "chain of calls within the convenience shortcut as seen when running:\n  "
   . '~$ perl -M%2$s -MDevel::Dwarn -e "Ddie { %3$s => %2$s->can(q(%3$s)) }"',
     join (', ', map { "$_()" } sort @{ $_->{by} } ),
-    $_->{overriden}{via_class},
-    $_->{overriden}{name},
+    $_->{overridden}{via_class},
+    $_->{overridden}{name},
   )} @{ $_[1] } ]
 }
 
@@ -361,10 +360,14 @@ sub check_no_indirect_method_overrides {
     for (@$method_stack) {
 
       push @$nonsugar_methods, $_ and next
-        unless $_->{attributes}{DBIC_method_is_indirect_sugar};
+        unless(
+          $_->{attributes}{DBIC_method_is_indirect_sugar}
+            or
+          $_->{attributes}{DBIC_method_is_generated_from_resultsource_metadata}
+        );
 
       push @err, {
-        overriden => {
+        overridden => {
           name => $_->{name},
           via_class => (
             # this way we report a much better Dwarn oneliner in the error
@@ -506,7 +509,8 @@ sub check_valid_c3_composition {
 
     push @err, {
       class => $class,
-      isa => $desc->{isa},
+      initial_linear_isa => $desc->{linear_isa},
+      current_linear_isa => do { (undef, my @isa) = @{ mro::get_linear_isa($class) }; \@isa },
       initial_mro => $desc->{mro}{type},
       current_mro => mro::get_mro($class),
       affected_methods => $affected_methods,