From 09ad52ab60bc0ee3a13bcd354a525e65828d886b Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Wed, 16 Jun 2021 12:42:25 -0400 Subject: [PATCH] Document getEvals a bit Also drop the $self parameter. Co-authored-by: gustavderdrache --- src/lib/Hydra/Controller/Build.pm | 2 +- src/lib/Hydra/Controller/Jobset.pm | 4 ++-- src/lib/Hydra/Controller/Root.pm | 2 +- src/lib/Hydra/Helper/Nix.pm | 33 +++++++++++++++++++++++++++--- 4 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/lib/Hydra/Controller/Build.pm b/src/lib/Hydra/Controller/Build.pm index c769edef..765dcbd7 100644 --- a/src/lib/Hydra/Controller/Build.pm +++ b/src/lib/Hydra/Controller/Build.pm @@ -558,7 +558,7 @@ sub evals : Chained('buildChain') PathPart('evals') Args(0) { $c->stash->{page} = $page; $c->stash->{resultsPerPage} = $resultsPerPage; $c->stash->{total} = $evals->search({hasnewbuilds => 1})->count; - $c->stash->{evals} = getEvals($self, $c, $evals, ($page - 1) * $resultsPerPage, $resultsPerPage) + $c->stash->{evals} = getEvals($c, $evals, ($page - 1) * $resultsPerPage, $resultsPerPage) } diff --git a/src/lib/Hydra/Controller/Jobset.pm b/src/lib/Hydra/Controller/Jobset.pm index ae0bb018..a5b6cfac 100644 --- a/src/lib/Hydra/Controller/Jobset.pm +++ b/src/lib/Hydra/Controller/Jobset.pm @@ -41,7 +41,7 @@ sub jobset_GET { $c->stash->{template} = 'jobset.tt'; - $c->stash->{evals} = getEvals($self, $c, scalar $c->stash->{jobset}->jobsetevals, 0, 10); + $c->stash->{evals} = getEvals($c, scalar $c->stash->{jobset}->jobsetevals, 0, 10); $c->stash->{latestEval} = $c->stash->{jobset}->jobsetevals->search({ hasnewbuilds => 1 }, { rows => 1, order_by => ["id desc"] })->single; @@ -337,7 +337,7 @@ sub evals_GET { $c->stash->{resultsPerPage} = $resultsPerPage; $c->stash->{total} = $evals->search({hasnewbuilds => 1})->count; my $offset = ($page - 1) * $resultsPerPage; - $c->stash->{evals} = getEvals($self, $c, $evals, $offset, $resultsPerPage); + $c->stash->{evals} = getEvals($c, $evals, $offset, $resultsPerPage); my %entity = ( evals => [ map { $_->{eval} } @{$c->stash->{evals}} ], first => "?page=1", diff --git a/src/lib/Hydra/Controller/Root.pm b/src/lib/Hydra/Controller/Root.pm index 62e793e1..df178df4 100644 --- a/src/lib/Hydra/Controller/Root.pm +++ b/src/lib/Hydra/Controller/Root.pm @@ -398,7 +398,7 @@ sub evals :Local Args(0) { $c->stash->{page} = $page; $c->stash->{resultsPerPage} = $resultsPerPage; $c->stash->{total} = $evals->search({hasnewbuilds => 1})->count; - $c->stash->{evals} = getEvals($self, $c, $evals, ($page - 1) * $resultsPerPage, $resultsPerPage); + $c->stash->{evals} = getEvals($c, $evals, ($page - 1) * $resultsPerPage, $resultsPerPage); $self->status_ok($c, entity => $c->stash->{evals}); } diff --git a/src/lib/Hydra/Helper/Nix.pm b/src/lib/Hydra/Helper/Nix.pm index 29df1c42..51509c73 100644 --- a/src/lib/Hydra/Helper/Nix.pm +++ b/src/lib/Hydra/Helper/Nix.pm @@ -223,12 +223,39 @@ sub getEvalInfo { } +=head2 getEvals + +This method returns a list of evaluations with details about what changed, +intended to be used with `eval.tt`. + +Arguments: + +=over 4 + +=item C<$c> +L - the entire application. + +=item C<$evals_result_set> + +A L for the result class of L + +=item C<$offset> + +Integer offset when selecting evaluations + +=item C<$rows> + +Integer rows to fetch + +=back + +=cut sub getEvals { - my ($self, $c, $evals_query_builder, $offset, $rows) = @_; + my ($c, $evals_result_set, $offset, $rows) = @_; - my $me = $evals_query_builder->current_source_alias; + my $me = $evals_result_set->current_source_alias; - my @evals = $evals_query_builder->search( + my @evals = $evals_result_set->search( { hasnewbuilds => 1 }, { order_by => "$me.id DESC", rows => $rows, offset => $offset , prefetch => { evaluationerror => [ ] } });