File Coverage

blib/lib/App/HL7/Compare/Parser/Segment.pm
Criterion Covered Total %
statement 29 29 100.0
branch n/a
condition n/a
subroutine 10 10 100.0
pod 0 2 0.0
total 39 41 95.1


line stmt bran cond sub pod time code
1             package App::HL7::Compare::Parser::Segment;
2             $App::HL7::Compare::Parser::Segment::VERSION = '0.002';
3 4     4   60 use v5.10;
  4         15  
4 4     4   30 use strict;
  4         11  
  4         99  
5 4     4   22 use warnings;
  4         12  
  4         107  
6              
7 4     4   26 use Moo;
  4         8  
  4         45  
8 4     4   1589 use Mooish::AttributeBuilder -standard;
  4         38  
  4         64  
9 4     4   570 use Types::Standard qw(Str);
  4         12  
  4         26  
10              
11 4     4   7610 use App::HL7::Compare::Parser::Field;
  4         15  
  4         1052  
12              
13             has field 'name' => (
14             isa => Str,
15             writer => -hidden,
16             );
17              
18             with qw(
19             App::HL7::Compare::Parser::Role::Partible
20             App::HL7::Compare::Parser::Role::RequiresInput
21             App::HL7::Compare::Parser::Role::Part
22             );
23              
24             sub part_separator
25             {
26 70     70 0 143 my ($self) = @_;
27              
28 70         990 return $self->msg_config->field_separator;
29             }
30              
31             sub _build_parts
32             {
33 16     16   152 my ($self) = @_;
34              
35 16         51 return $self->split_and_build($self->consume_input, 'App::HL7::Compare::Parser::Field');
36             }
37              
38             sub BUILD
39             {
40 54     54 0 15532 my ($self, $args) = @_;
41              
42 54         137 my $input = $self->consume_input;
43 54         152 my ($name, $rest) = split quotemeta($self->part_separator), $input, 2;
44 54         1076 $self->_set_name($name);
45 54         2111 $self->_set_input($rest);
46             }
47              
48             1;
49