File Coverage

blib/lib/App/Pods2Site/AbstractSiteBuilder.pm
Criterion Covered Total %
statement 33 36 91.6
branch 2 6 33.3
condition n/a
subroutine 8 10 80.0
pod 0 5 0.0
total 43 57 75.4


line stmt bran cond sub pod time code
1             package App::Pods2Site::AbstractSiteBuilder;
2              
3 2     2   16 use strict;
  2         4  
  2         55  
4 2     2   10 use warnings;
  2         4  
  2         105  
5              
6             our $VERSION = '1.002';
7             my $version = $VERSION;
8             $VERSION = eval $VERSION;
9              
10 2     2   12 use App::Pods2Site::Util qw(slashify writeUTF8File);
  2         3  
  2         108  
11              
12 2     2   1002 use File::Copy;
  2         4729  
  2         727  
13              
14             # CTOR
15             #
16             sub new
17             {
18 3     3 0 10 my $class = shift;
19 3         7 my $styleName = shift;
20              
21 3         13 my $self = bless( { stylename => $styleName }, $class );
22              
23 3         16 return $self;
24             }
25              
26             sub makeSite
27       0 0   {
28             # do nothing
29             }
30              
31             sub prepareCss
32             {
33 3     3 0 9 my $self = shift;
34 3         6 my $args = shift;
35              
36 3         43 my $sitedir = $args->getSiteDir();
37              
38 3         43 my $sbName = $self->getStyleName();
39 3         60 my $sbCssContent = $self->_getCssContent();
40              
41 3 50       14 if ($sbCssContent)
42             {
43 3         22 my $sbCssFile = slashify("$sitedir/$sbName.css");
44 3         20 writeUTF8File($sbCssFile, $sbCssContent);
45            
46 3         18 my $systemCSSContent = <
47             \@charset "UTF-8";
48             \@import url($sbName.css);
49             SYSCSS
50            
51 3         20 my $inUserCSSFile = $args->getCSS();
52 3 50       12 if ($inUserCSSFile)
53             {
54 0         0 my $outUserCSSFile = slashify("$sitedir/user.css");
55 0 0       0 copy($inUserCSSFile, $outUserCSSFile) || die("Failed to copy CSS '$inUserCSSFile' => '$outUserCSSFile': $!\n");
56 0         0 $systemCSSContent .= "\@import url(user.css)";
57             }
58              
59 3         29 my $sysCssName = $self->getSystemCssName();
60 3         18 my $systemCSSFile = slashify("$sitedir/$sysCssName.css");
61 3         12 writeUTF8File($systemCSSFile, $systemCSSContent);
62             }
63             }
64              
65             sub getStyleName
66             {
67 6     6 0 19 my $self = shift;
68            
69 6         51 return $self->{stylename};
70             }
71              
72             sub getSystemCssName
73             {
74 15     15 0 57 return 'pods2site';
75             }
76              
77             sub _getCssContent
78       0     {
79             # do nothing
80             }
81              
82             1;