File Coverage

blib/lib/HTTP/Headers/ActionPack/Core/BaseHeaderType.pm
Criterion Covered Total %
statement 27 27 100.0
branch 1 2 50.0
condition n/a
subroutine 10 10 100.0
pod 4 4 100.0
total 42 43 97.6


line stmt bran cond sub pod time code
1             package HTTP::Headers::ActionPack::Core::BaseHeaderType;
2             BEGIN {
3 11     11   12147 $HTTP::Headers::ActionPack::Core::BaseHeaderType::AUTHORITY = 'cpan:STEVAN';
4             }
5             {
6             $HTTP::Headers::ActionPack::Core::BaseHeaderType::VERSION = '0.09';
7             }
8             # ABSTRACT: A Base header type
9              
10 11     11   82 use strict;
  11         22  
  11         397  
11 11     11   57 use warnings;
  11         97  
  11         407  
12              
13 11     11   64 use Carp qw[ confess ];
  11         22  
  11         879  
14              
15 11         83 use HTTP::Headers::ActionPack::Util qw[
16             split_header_words
17             join_header_words
18 11     11   3154 ];
  11         29  
19              
20 11     11   3941 use parent 'HTTP::Headers::ActionPack::Core::BaseHeaderWithParams';
  11         23  
  11         149  
21              
22             sub BUILDARGS {
23 192     192 1 293 my $class = shift;
24 192         555 my ($subject, @params) = @_;
25              
26 192 50       432 confess "You must specify a subject" unless $subject;
27              
28             return +{
29 192         897 subject => $subject,
30 192         228 %{ $class->_prepare_params( @params ) }
31             };
32             }
33              
34 959     959 1 6316 sub subject { (shift)->{'subject'} }
35              
36             sub new_from_string {
37 78     78 1 4065 my ($class, $header_string) = @_;
38 78         110 $class->new( @{ (split_header_words( $header_string ))[0] } );
  78         233  
39             }
40              
41             sub as_string {
42 339     339 1 7315 my $self = shift;
43 339         671 join_header_words( $self->subject, $self->params_in_order );
44             }
45              
46             1;
47              
48             __END__