Re: [PATCHv5 08/12] gitweb: auxiliary function to group data
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Sep 26, 2010, 21:47 UTC
- Message-ID
- <201009262347.15779.jnareb@gmail.com>
- In-Reply-To
- <1285344167-8518-9-git-send-email-giuseppe.bilotta@gmail.com>
On Fri, 24 Sep 2010, Giuseppe Bilotta wrote:
> Subject: gitweb: auxiliary function to group data >
Errr... what!? git_group() is not "auxiliary function to group data", but a template for output of group of data.
It would be probably good to describe how this output looks like (using e.g. ASII-art mockup) in a commit message.
Show 14 quoted lines
> Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
> ---
> gitweb/gitweb.perl | 16 ++++++++++++++++
> 1 files changed, 16 insertions(+), 0 deletions(-)
>
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 7c62701..8f11fb5 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -3786,6 +3786,22 @@ sub git_print_header_div {
> "\n</div>\n";
> }
>
> +sub git_group {Name?
Show 12 quoted lines
> + my ($class, $id, @rest) = @_;
> +
> + my $content_func = pop @rest;
> +
> + $class = join(' ', 'group', $class);
> +
> + print $cgi->start_div({
> + -class => $class,
> + -id => $id,
> + });
> + git_print_header_div(@rest);
> + $content_func->() if defined $content_func;More defensive programming would be to use
+ $content_func->() if ref($content_func) eq 'CODE';
Or even:
+ if (ref($content) eq 'CODE') {
+ $content->();
+ } elsif (ref($content) eq 'ARRAY') {
+ print @$content;
+ } elsif (!ref($content) && defined($content)) {
+ print $content;
+ }Well, $content could be also open filehandle...
> + print $cgi->end_div; > +}
Nice usage of start_div and end_div.
Show 8 quoted lines
> +
> sub print_local_time {
> print format_local_time(@_);
> }
> --
> 1.7.3.68.g6ec8
>
> -- Jakub Narebski Poland