Audit and annotate all context-sensitive spots in ::Ordered
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / Relationships.pm
index ecbc5c2..7b08d07 100644 (file)
@@ -199,7 +199,7 @@ sub meta_info {
 sub search {
   my $self = shift;
   my $attrs = {};
-  if (@_ > 1 && ref $_[$#_] eq 'HASH') {
+  if (@_ > 1 && ref $_[-1] eq 'HASH') {
     $attrs = { %{ pop(@_) } };
   }
   my $where = (@_ ? ((@_ == 1) ? ((ref $_[0] eq "HASH") ? { %{+shift} } : shift)
@@ -218,7 +218,10 @@ sub search {
 }
 
 sub new_related {
-  return shift->search_related(shift)->new_result(@_);
+  $_[0]->throw_exception("Calling new_related() as a class method is not supported")
+    unless length ref $_[0];
+
+  shift->next::method(@_);
 }
 
 =head1 FURTHER QUESTIONS?