File Coverage

blib/lib/WebService/ChatWork/Message.pm
Criterion Covered Total %
statement 28 28 100.0
branch 3 4 75.0
condition 3 3 100.0
subroutine 7 7 100.0
pod 0 1 0.0
total 41 43 95.3


line stmt bran cond sub pod time code
1 8     8   4092 use strict;
  8         10  
  8         254  
2 8     8   30 use warnings;
  8         9  
  8         307  
3             package WebService::ChatWork::Message;
4 8     8   44 use Carp ( );
  8         13  
  8         165  
5 8     8   4200 use String::CamelCase qw( camelize );
  8         3617  
  8         519  
6 8     8   4106 use Class::Load qw( try_load_class );
  8         153648  
  8         598  
7 8     8   3791 use WebService::ChatWork::Message::Tag;
  8         30  
  8         1234  
8              
9             # ABSTRACT: A Tag Builder of ChatWork
10              
11             our $VERSION = '0.02';
12              
13             sub new {
14 13     13 0 108 my $class = shift;
15 13         22 my $tag = shift;
16 13         37 my @params = @_;
17 13         33 my $package = "$class\::Tag";
18              
19 13 100 100     70 if ( !@params && $tag ne "hr" ) {
20 1         2 @params = ( $tag );
21 1         3 $tag = q{};
22             }
23             else {
24 12         59 $package = sprintf "$class\::Tag::%s", camelize( $tag );
25             }
26              
27 13 50       225 try_load_class( $package )
28             or die "Could not load $package.";
29              
30 13         679 return $package->new( @params );
31             }
32              
33             1;
34              
35             __END__