From 78d0e4e290ccf88f7a7c968ffb2527ad7f6b9463 Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Fri, 8 Jun 2018 13:34:04 -0700 Subject: [PATCH] make constructorargs lazy --- Debbugs/Collection.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Debbugs/Collection.pm b/Debbugs/Collection.pm index c1faa6f..cbfd56b 100644 --- a/Debbugs/Collection.pm +++ b/Debbugs/Collection.pm @@ -22,6 +22,7 @@ Debbugs::Collection -- Collection base class which can generate lots of objects use Mouse; use strictures 2; use namespace::autoclean; +use List::AllUtils qw(pairmap); extends 'Debbugs::OOBase'; @@ -161,9 +162,14 @@ sub get_or_create { has 'constructor_args' => (is => 'rw', isa => 'ArrayRef', - default => sub {[]}, + lazy => 1, + builder => '_build_constructor_args', ); +sub _build_constructor_args { + return []; +} + sub add_by_key { my $self = shift; # we'll assume that add does the right thing. around this in subclasses -- 2.39.2