File Coverage

blib/lib/Mojolicious/Plugin/Angular/MaterialDesign.pm
Criterion Covered Total %
statement 21 40 52.5
branch 1 6 16.6
condition 0 6 0.0
subroutine 7 8 87.5
pod 2 2 100.0
total 31 62 50.0


line stmt bran cond sub pod time code
1             package Mojolicious::Plugin::Angular::MaterialDesign;
2 2     2   16767 use 5.008001;
  2         6  
  2         65  
3 2     2   8 use strict;
  2         3  
  2         61  
4 2     2   22 use warnings;
  2         4  
  2         68  
5              
6 2     2   483 use Mojo::Base 'Mojolicious::Plugin';
  2         8687  
  2         18  
7 2     2   1794 use File::Spec::Functions 'catdir';
  2         955  
  2         111  
8 2     2   8 use Cwd ();
  2         423  
  2         642  
9              
10             our $VERSION = '0.601';
11              
12             my @DEFAULT_CSS_FILES = qw( angular-material.min.css );
13             my @DEFAULT_JS_FILES = qw( angular-material.min.js);
14              
15             sub asset_path {
16 0     0 1 0 my ( $class ) = @_;
17 0         0 my $path = Cwd::abs_path(__FILE__);
18 0         0 $path =~ s!\.pm$!!;
19 0         0 return $path;
20             }
21              
22             sub register {
23 1     1 1 31 my ( $self, $app, $config ) = @_;
24              
25 1 50       2 $app->plugin('AssetPack') unless eval { $app->asset };
  1         8  
26              
27 0   0       $config->{css} ||= [@DEFAULT_CSS_FILES];
28 0   0       $config->{js} ||= [@DEFAULT_JS_FILES];
29 0   0       $config->{jquery} //= 1;
30              
31 0           push @{ $app->static->paths }, $self->asset_path;
  0            
32              
33             # TODO: 'bootstrap_resources.scss'
34 0 0         if ( @{ $config->{css} } ) {
  0            
35 0           $app->asset( 'materialdesign.css' => map {"/css/$_"}
  0            
36 0           @{ $config->{css} } );
37             }
38              
39 0 0         if ( @{ $config->{js} } ) {
  0            
40 0           $app->asset( 'materialdesign.js' => map {"/js/$_"} @{ $config->{js} },
  0            
  0            
41             );
42             }
43              
44             }
45              
46             1;
47             __END__