From: Don Armstrong Date: Sat, 29 Jun 2019 18:34:24 +0000 (-0700) Subject: document Debbugs::Collection::Version X-Git-Url: https://git.donarmstrong.com/?p=debbugs.git;a=commitdiff_plain;h=4a2bb1a91de48cdfb793fb957caeba6aa6c5f32d document Debbugs::Collection::Version --- diff --git a/Debbugs/Collection/Version.pm b/Debbugs/Collection/Version.pm index 8333883..5f7c41f 100644 --- a/Debbugs/Collection/Version.pm +++ b/Debbugs/Collection/Version.pm @@ -12,6 +12,9 @@ Debbugs::Collection::Version -- Version generation factory =head1 SYNOPSIS +This collection extends L and contains members of +L. Useful for any field which contains package versions. + =head1 DESCRIPTION @@ -32,6 +35,24 @@ use List::AllUtils qw(part); extends 'Debbugs::Collection'; +=head2 my $bugs = Debbugs::Collection::version->new(%params|$param) + +Parameters in addition to those defined by L + +=over + +=item package_collection + +Optional L which is used to look up packages + +=item versions + +Optional arrayref of C string triples + +=back + +=cut + has '+members' => (isa => 'ArrayRef[Debbugs::Version]'); has 'package_collection' => @@ -47,7 +68,9 @@ sub _build_package_collection { } sub member_key { - return $_[1]->package.'/'.$_[1]->version.'/'.$_[1]->arch; + my ($self,$v) = @_; + confess("v not defined") unless defined $v; + return $v->package.'/'.$v->version.'/'.$v->arch; } @@ -62,7 +85,6 @@ around add_by_key => sub { sub _member_constructor { my $self = shift; my %args = @_; - my @schema_arg; my @return; for my $pkg_ver_arch (make_list($args{versions})) { my ($pkg,$ver,$arch) = $pkg_ver_arch =~ m{^([^/]+)/([^/]+)/?([^/]*)$} or @@ -91,13 +113,26 @@ sub _member_constructor { ); } } + return @return; } -# Debbugs::Collection::Versions do not have a universe. +=head2 $versions->universe + +Unlike most collections, Debbugs::Collection::Version do not have a universe. + +=cut + sub universe { return $_[0]; } +=head2 $versions->source + +Returns a (potentially duplicated) list of source packages which are part of +this version collection + +=cut + sub source { my $self = shift; return $self->map(sub{$_->source}); diff --git a/templates/en_US/cgi/bugreport_buginfo.tx b/templates/en_US/cgi/bugreport_buginfo.tx index 9067959..8f3870f 100644 --- a/templates/en_US/cgi/bugreport_buginfo.tx +++ b/templates/en_US/cgi/bugreport_buginfo.tx @@ -1,7 +1,7 @@