File Coverage

blib/lib/Acme/Hidek.pm
Criterion Covered Total %
statement 26 58 44.8
branch n/a
condition 1 3 33.3
subroutine 9 11 81.8
pod 0 3 0.0
total 36 75 48.0


line stmt bran cond sub pod time code
1             package Acme::Hidek;
2              
3 2     2   52313 use 5.008_001;
  2         8  
  2         69  
4 2     2   1988 use utf8;
  2         16  
  2         9  
5 2     2   5082 use Mouse;
  2         104472  
  2         12  
6 2     2   4309 use Time::Piece;
  2         40023  
  2         17  
7 2     2   5065 use Time::HiRes qw(sleep);
  2         4940  
  2         9  
8              
9             if ($^O eq 'MSWin32') {
10             require 'Win32/Console/ANSI.pm';
11             binmode STDOUT, ":raw :encoding(cp932)";
12             }
13             elsif($ENV{CONSOLE_ENCODING}) {
14             binmode STDOUT, ":raw :encoding($ENV{CONSOLE_ENCODING})";
15             }
16              
17             our $VERSION = '44.0';
18              
19 2     2   669 use XSLoader;
  2         5  
  2         365  
20             XSLoader::load(__PACKAGE__, $VERSION);
21              
22             use constant {
23 2         1848 BIRTH_YEAR => 1970,
24             BIRTH_MONTH => 9,
25             BIRTH_DAY => 2,
26 2     2   13 };
  2         5  
27              
28             has agef => (
29             is => 'ro',
30             isa => 'Num',
31             lazy => 1,
32             default => sub {
33             my($self) = @_;
34             return +(Time::Piece->localtime - $self->birthdate)->years;
35             },
36             );
37              
38             has age => (
39             is => 'ro',
40             isa => 'Int',
41             lazy => 1,
42             default => sub {
43             my($self) = @_;
44             return int( $self->agef );
45             },
46             );
47              
48             has birthdate => (
49             is => 'ro',
50             isa => 'Object',
51             lazy => 1,
52             default => sub { Time::Piece->strptime("1970/9/2", "%Y/%m/%d") },
53             init_arg => undef,
54             );
55              
56             sub is_birthday {
57 1     1 0 2961 my $now = Time::Piece->new;
58 1   33     66 return $now->mday == BIRTH_DAY && $now->mon == BIRTH_MONTH;
59             }
60              
61             sub ossan40 {
62 0     0 0   my @aa = (
63             <<'OPPAI'
64                 _  ∩
65               ( ゜∀゜)彡 ${WORD}
66               (    | 
67                |   | 
68                し ⌒J
69              
70             contributed by @mattn_jp.
71             OPPAI
72             , <<'OPPAI'
73                 _  ∩
74               ( ゜∀゜)彡 ${WORD}
75               (  ⊂彡
76                |   | 
77                し ⌒J
78              
79             contributed by @mattn_jp.
80             OPPAI
81             , <<'OPPAI'
82                 _  
83               ( ゜∀゜)  ${WORD}
84               (  ⊂彡
85                |   | 
86                し ⌒J
87              
88             contributed by @mattn_jp.
89             OPPAI
90             );
91              
92 0           my $a;
93 0           for (1..5) {
94 0           $a = $aa[0]; $a =~ s!\${WORD}!おっ!!;
  0            
95 0           print "\e[2J$a"; sleep 0.1;
  0            
96 0           $a = $aa[1]; $a =~ s!\${WORD}!おっ!!;
  0            
97 0           print "\e[2J$a"; sleep 0.1;
  0            
98 0           $a = $aa[2]; $a =~ s!\${WORD}!おっ!!;
  0            
99 0           print "\e[2J$a"; sleep 0.5;
  0            
100              
101 0           $a = $aa[2]; $a =~ s!\${WORD}!おっさん!!;
  0            
102 0           print "\e[2J$a"; sleep 0.1;
  0            
103 0           $a = $aa[1]; $a =~ s!\${WORD}!おっさん!!;
  0            
104 0           print "\e[2J$a"; sleep 0.1;
  0            
105 0           $a = $aa[0]; $a =~ s!\${WORD}!おっさん!!;
  0            
106 0           print "\e[2J$a"; sleep 0.5;
  0            
107             }
108             }
109              
110             sub ossan41 {
111 0     0 0   my @aa = (
112             <<'OPPAI'
113               /⌒ヽ
114               ∩ ^ω^) な ん だ
115               |   ⊂ノ
116              |   _⊃
117               し ⌒
118              
119             contributed by @mattn_jp.
120             OPPAI
121             , <<'OPPAI'
122               /⌒ヽ
123              (^ω^ ∩ 4 1 か
124               t⊃  |
125              ⊂_   |
126                ⌒ J
127              
128             contributed by @mattn_jp.
129             OPPAI
130             , <<'OPPAI'
131                  /⌒ヽ
132                (     )  おっおっおっ
133                /  、 つ
134               (_(__ ⌒)ノ
135                ∪ (ノ
136              
137             contributed by @mattn_jp.
138             OPPAI
139             );
140              
141 0           for (0..9) {
142 0           my $a = $aa[$_ % 3];
143 0           print "\e[2J$a"; sleep 1;
  0            
144             }
145             }
146              
147 2     2   14 no Mouse;
  2         4  
  2         28  
148             __PACKAGE__->meta->make_immutable();
149             __END__