... | ... |
@@ -1572,31 +1572,30 @@ sub trees { |
1572 | 1572 |
return $trees; |
1573 | 1573 |
} |
1574 | 1574 |
|
1575 |
+sub _age_ago { |
|
1576 |
+ my($self,$unit,$age) = @_; |
|
1577 |
+ |
|
1578 |
+ return $age . " $unit" . ( $unit =~ /^(sec|min)$/ ? "" : "s" ) . " ago"; |
|
1579 |
+} |
|
1580 |
+ |
|
1575 | 1581 |
sub _age_string { |
1576 | 1582 |
my ($self, $age) = @_; |
1577 | 1583 |
my $age_str; |
1578 | 1584 |
|
1579 | 1585 |
if ($age >= 60 * 60 * 24 * 365) { |
1580 |
- $age_str = (int $age/60/60/24/365); |
|
1581 |
- $age_str .= ' years ago'; |
|
1586 |
+ $age_str = $self->_age_ago(year => (int $age/60/60/24/365)); |
|
1582 | 1587 |
} elsif ($age >= 60 * 60 * 24 * (365/12)) { |
1583 |
- $age_str = int $age/60/60/24/(365/12); |
|
1584 |
- $age_str .= ' months ago'; |
|
1588 |
+ $age_str = $self->_age_ago(month => int $age/60/60/24/(365/12)); |
|
1585 | 1589 |
} elsif ($age >= 60 * 60 * 24 * 7) { |
1586 |
- $age_str = int $age/60/60/24/7; |
|
1587 |
- $age_str .= ' weeks ago'; |
|
1590 |
+ $age_str = $self->_age_ago(week => int $age/60/60/24/7); |
|
1588 | 1591 |
} elsif ($age >= 60 * 60 * 24) { |
1589 |
- $age_str = int $age/60/60/24; |
|
1590 |
- $age_str .= ' days ago'; |
|
1592 |
+ $age_str = $self->_age_ago(day => int $age/60/60/24); |
|
1591 | 1593 |
} elsif ($age >= 60 * 60) { |
1592 |
- $age_str = int $age / 60 / 60; |
|
1593 |
- $age_str .= ' hours ago'; |
|
1594 |
+ $age_str = $self->_age_ago(hour => int $age/60/60); |
|
1594 | 1595 |
} elsif ($age >= 60) { |
1595 |
- $age_str = int $age/60; |
|
1596 |
- $age_str .= ' min ago'; |
|
1596 |
+ $age_str = $self->_age_ago(min => int $age/60); |
|
1597 | 1597 |
} elsif ($age >= 1) { |
1598 |
- $age_str = int $age; |
|
1599 |
- $age_str .= ' sec ago'; |
|
1598 |
+ $age_str = $self->_age_ago(sec => int $age); |
|
1600 | 1599 |
} else { |
1601 | 1600 |
$age_str .= ' right now'; |
1602 | 1601 |
} |