From b22b03cad564d6ccc5e9da517f0e9ad5a40d45ba Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 27 Apr 2020 18:33:05 -0300 Subject: [PATCH] Bug 25296: Add a way to force an empty Koha::Objects resultset This patch adds a new ->empty method to Koha::Objects, that can be used to make the underlying DBIC resultset empty. This way, we can have consistency in our method's return values without the need to build a query that we know in advance that will be empty. No need to hit the DB at all. To test: 1. Apply this patches 2. Notice the tests cover what is expected 3. Run: $ kshell k$ prove t/db_dependent/Koha/Objects.t => SUCCESS: Tests pass! Yay! 4. Sign off :-D Signed-off-by: Tomas Cohen Arazi Signed-off-by: Martin Renvoize --- Koha/Objects.pm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Koha/Objects.pm b/Koha/Objects.pm index 9184a235a8..bc82ee4e15 100644 --- a/Koha/Objects.pm +++ b/Koha/Objects.pm @@ -237,7 +237,23 @@ sub last { return $object; } +=head3 empty + my $empty_rs = Koha::Objects->new->empty; + +Sets the resultset empty. This is handy for consistency on method returns +(e.g. if we know in advance we won't have results but want to keep returning +an iterator). + +=cut + +sub empty { + my ($self) = @_; + + $self->_resultset()->set_cache([]); + + return $self; +} =head3 Koha::Objects->reset(); -- 2.20.1