After 5e0eea35 we can actually test for cleaned namespaces within CDBI
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / Pager.pm
index cd01047..7316d9d 100644 (file)
@@ -1,16 +1,25 @@
-package DBIx::Class::CDBICompat::Pager;\r
-\r
-use strict;\r
-use warnings FATAL => 'all';\r
-\r
-*pager = \&page;\r
-\r
-sub page {\r
-  my $class = shift;\r
-\r
-  my $it = $class->search(@_);\r
-  my $pager = $class->_page_object;\r
-  return ( $pager, $it );\r
-}\r
-\r
-1;\r
+package # hide from PAUSE
+    DBIx::Class::CDBICompat::Pager;
+
+use strict;
+
+# even though fatalization has been proven over and over to be a universally
+# bad idea, this line has been part of the code from the beginning
+# leaving the compat layer as-is, something may in fact depend on that
+use warnings FATAL => 'all';
+
+use base 'DBIx::Class';
+
+sub pager { shift->page(@_) }
+
+sub page {
+  my $class = shift;
+
+  my $rs = $class->search(@_);
+  unless ($rs->{attrs}{page}) {
+    $rs = $rs->page(1);
+  }
+  return ( $rs->pager, $rs );
+}
+
+1;