]> Sergey Matveev's repositories - public-inbox.git/commitdiff
inbox: simplify ->description and ->cloneurl
authorEric Wong <e@yhbt.net>
Tue, 4 Feb 2020 04:44:23 +0000 (04:44 +0000)
committerEric Wong <e@yhbt.net>
Tue, 4 Feb 2020 21:39:54 +0000 (21:39 +0000)
We can use "//=" from Perl 5.10 to simplify the logic for these
methods.  The use of chomp() in ->cloneurl was also unnecessary
since split(/\s+/s,...) already removes newlines.

lib/PublicInbox/Inbox.pm

index b76d4e5abb017383f831af4a97c73903e7cfa80a..accfd97472ed30be40685ee8724918b39bba9dd7 100644 (file)
@@ -219,25 +219,19 @@ sub try_cat {
 
 sub description {
        my ($self) = @_;
-       my $desc = $self->{description};
-       return $desc if defined $desc;
-       $desc = try_cat("$self->{inboxdir}/description");
-       local $/ = "\n";
-       chomp $desc;
-       $desc =~ s/\s+/ /smg;
-       $desc = '($INBOX_DIR/description missing)' if $desc eq '';
-       $self->{description} = $desc;
+       $self->{description} //= do {
+               my $desc = try_cat("$self->{inboxdir}/description");
+               local $/ = "\n";
+               chomp $desc;
+               $desc =~ s/\s+/ /smg;
+               $desc eq '' ? '($INBOX_DIR/description missing)' : $desc;
+       };
 }
 
 sub cloneurl {
        my ($self) = @_;
-       my $url = $self->{cloneurl};
-       return $url if $url;
-       $url = try_cat("$self->{inboxdir}/cloneurl");
-       my @url = split(/\s+/s, $url);
-       local $/ = "\n";
-       chomp @url;
-       $self->{cloneurl} = \@url;
+       $self->{cloneurl} //=
+               [ split(/\s+/s, try_cat("$self->{inboxdir}/cloneurl")) ];
 }
 
 sub base_url {