Commit | Line | Data |
c113db92 |
1 | package Gitalist::Utils; |
2 | use strict; |
3 | use warnings; |
4 | use Exporter qw/import/; |
5 | |
6 | our @EXPORT_OK = qw/ |
7 | age_string |
8 | /; |
9 | |
10 | sub age_string { |
11 | my $age = shift; |
12 | my $age_str; |
13 | |
14 | if ( $age > 60 * 60 * 24 * 365 * 2 ) { |
15 | $age_str = ( int $age / 60 / 60 / 24 / 365 ); |
16 | $age_str .= " years ago"; |
17 | } |
18 | elsif ( $age > 60 * 60 * 24 * ( 365 / 12 ) * 2 ) { |
19 | $age_str = int $age / 60 / 60 / 24 / ( 365 / 12 ); |
20 | $age_str .= " months ago"; |
21 | } |
22 | elsif ( $age > 60 * 60 * 24 * 7 * 2 ) { |
23 | $age_str = int $age / 60 / 60 / 24 / 7; |
24 | $age_str .= " weeks ago"; |
25 | } |
26 | elsif ( $age > 60 * 60 * 24 * 2 ) { |
27 | $age_str = int $age / 60 / 60 / 24; |
28 | $age_str .= " days ago"; |
29 | } |
30 | elsif ( $age > 60 * 60 * 2 ) { |
31 | $age_str = int $age / 60 / 60; |
32 | $age_str .= " hours ago"; |
33 | } |
34 | elsif ( $age > 60 * 2 ) { |
35 | $age_str = int $age / 60; |
36 | $age_str .= " min ago"; |
37 | } |
38 | elsif ( $age > 2 ) { |
39 | $age_str = int $age; |
40 | $age_str .= " sec ago"; |
41 | } |
42 | else { |
43 | $age_str .= " right now"; |
44 | } |
45 | return $age_str; |
46 | } |
47 | |
48 | 1; |
49 | |
50 | __END__ |
51 | |
52 | =head1 NAME |
53 | |
54 | Gitalist::Utils - trivial utils for Gitalist |
55 | |
56 | =head2 FUNCTIONS |
57 | |
58 | =head2 age_string |
59 | |
60 | Turns an integer number of seconds into a string.. |
61 | |
62 | =head1 AUTHORS |
63 | |
64 | See L<Gitalist> for authors. |
65 | |
66 | =head1 LICENSE |
67 | |
68 | See L<Gitalist> for the license. |
69 | |
70 | =cut |