Skip to content

Commit

Permalink
Merge pull request #5 from softmoth/combine-eval-names
Browse files Browse the repository at this point in the history
Combine eval names sharing prefix & rev
  • Loading branch information
Mouq committed Apr 18, 2014
2 parents 2e98e16 + 1a8a83e commit 0ef6d11
Showing 1 changed file with 27 additions and 3 deletions.
30 changes: 27 additions & 3 deletions evalbot.pl
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,30 @@ package Evalbot;
}
# warn "Regex: ", $regex, "\n";

sub format_names {
my ($names) = @_;
# Goal: rakudo-{jvm,moar} abcde, rakudo-parrot xyzzy, foo-other
my %by_rev;
foreach (@$names) {
my ($name, $rev) = @$_;
my ($prefix, $suffix) = ($name, '');
$name =~ /^(.+?-)(.+)$/
and ($prefix, $suffix) = ($1, $2);
push @{$by_rev{$rev}{$prefix}}, $suffix;
}
my @combined;
foreach my $r (sort keys %by_rev) {
foreach $p (sort keys %{$by_rev{$r}}) {
my $s = $by_rev{$r}{$p};
$s = @$s > 1
? '{' . join(',', @$s) . '}'
: $s->[0];
push @combined, $p . $s . ($r ? " $r" : '');
}
}
return join(', ', @combined);
}

sub said {
my $self = shift;
my $info = shift;
Expand All @@ -210,13 +234,13 @@ package Evalbot;
$tmp_res =~ s|/tmp/\w{10}|/tmp/tmpfile|g;
my $revision = '';
if (reftype($e) eq 'HASH' && $e->{revision}){
$revision = ' ' . $e->{revision}->();
$revision = $e->{revision}->();
}
push @{$results{$tmp_res}}, "$eval_name$revision";
push @{$results{$tmp_res}}, [$eval_name, $revision];
}
my $result = '';
while (my ($text, $names) = each %results){
$result .= format_output(join(', ', @$names), $text);
$result .= format_output(format_names($names), $text);
}
return $result;
}
Expand Down

0 comments on commit 0ef6d11

Please sign in to comment.