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   15 use strict;
  2         4  
  2         53  
4 2     2   10 use warnings;
  2         4  
  2         104  
5              
6             our $VERSION = '1.001';
7             my $version = $VERSION;
8             $VERSION = eval $VERSION;
9              
10 2     2   11 use App::Pods2Site::Util qw(slashify writeUTF8File);
  2         4  
  2         104  
11              
12 2     2   1013 use File::Copy;
  2         4634  
  2         690  
13              
14             # CTOR
15             #
16             sub new
17             {
18 3     3 0 9 my $class = shift;
19 3         8 my $styleName = shift;
20              
21 3         12 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 10 my $self = shift;
34 3         11 my $args = shift;
35              
36 3         48 my $sitedir = $args->getSiteDir();
37              
38 3         38 my $sbName = $self->getStyleName();
39 3         62 my $sbCssContent = $self->_getCssContent();
40              
41 3 50       19 if ($sbCssContent)
42             {
43 3         36 my $sbCssFile = slashify("$sitedir/$sbName.css");
44 3         39 writeUTF8File($sbCssFile, $sbCssContent);
45            
46 3         17 my $systemCSSContent = <
47             \@charset "UTF-8";
48             \@import url($sbName.css);
49             SYSCSS
50            
51 3         26 my $inUserCSSFile = $args->getCSS();
52 3 50       10 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         28 my $sysCssName = $self->getSystemCssName();
60 3         19 my $systemCSSFile = slashify("$sitedir/$sysCssName.css");
61 3         14 writeUTF8File($systemCSSFile, $systemCSSContent);
62             }
63             }
64              
65             sub getStyleName
66             {
67 6     6 0 17 my $self = shift;
68            
69 6         54 return $self->{stylename};
70             }
71              
72             sub getSystemCssName
73             {
74 15     15 0 54 return 'pods2site';
75             }
76              
77             sub _getCssContent
78       0     {
79             # do nothing
80             }
81              
82             1;