File Coverage

blib/lib/Map/Metro/Graph/Line.pm
Criterion Covered Total %
statement 91 93 97.8
branch 6 12 50.0
condition 1 3 33.3
subroutine 10 10 100.0
pod n/a
total 108 118 91.5


line stmt bran cond sub pod time code
1 1     1   5 use Map::Metro::Standard::Moops;
  1         2  
  1         10  
2 1     1   2387 use strict;
  1         2  
  1         27  
3 1     1   7 use warnings;
  1         2  
  1         54  
4              
5             our $VERSION = '0.2300'; # VERSION
6             # PODNAME: Map::Metro::Graph::Line
7             # ABSTRACT: Meta information about a line
8              
9 1     1   1600 class Map::Metro::Graph::Line {
  1     1   35  
  1     1   6  
  1         2  
  1         74  
  1         6  
  1         1  
  1         9  
  1         268  
  1         2  
  1         8  
  1         65  
  1         3  
  1         50  
  1         5  
  1         2  
  1         108  
  1         36  
  1         6  
  1         2  
  1         8  
  1         4104  
  1         3  
  1         9  
  1         6633  
  1         3  
  1         10  
  1         4452  
  1         1  
  1         13  
  1         80  
  1         2  
  1         9  
  1         219  
  1         2  
  1         9  
  1         1299  
  1         3  
  1         8  
  1         6425  
  1         3  
  1         5  
  1         2  
  1         28  
  1         6  
  1         2  
  1         66  
  1         5  
  1         3  
  1         157  
  1         10  
  1         5398  
  1         22  
  1         1023  
  2         32  
10              
11 1         16 has id => (
12             is => 'ro',
13             isa => Str,
14             required => 1,
15             );
16 1         4706 has name => (
17             is => 'ro',
18             isa => Str,
19             required => 1,
20             );
21 1         4098 has description => (
22             is => 'ro',
23             isa => Str,
24             required => 1,
25             );
26 1         4236 has color => (
27             is => 'rw',
28             isa => Str,
29             default => '#333333',
30             );
31 1         4731 has width => (
32             is => 'rw',
33             isa => Int,
34             default => 3,
35             );
36              
37 1 50 33 1   19494 around BUILDARGS($orig: $self, %args) {
  1 50   1   3  
  1 50   1   183  
  1 50   2   5  
  1 50       2  
  1         167  
  1         6  
  1         2  
  1         242  
  1         4724  
  2         7  
  2         25  
  2         8  
  2         4  
  2         5  
  2         19  
  0         0  
  2         4  
  2         12  
  2         17  
  2         5  
  2         14  
38 0 50       0 if($args{'id'} =~ m{([^a-z0-9])}i) {
39 2         11 Map::Metro::Exception::LineIdContainsIllegalCharacter::LineIdContainsIllegalCharacter->throw(line_id => $args{'id'}, illegal_character => $_, ident => 'parser: line_id');
40             }
41             $self->$orig(%args);
42             }
43             }
44              
45             1;
46              
47             __END__
48              
49             =pod
50              
51             =encoding UTF-8
52              
53             =head1 NAME
54              
55             Map::Metro::Graph::Line - Meta information about a line
56              
57             =head1 VERSION
58              
59             Version 0.2300, released 2016-01-14.
60              
61             =head1 DESCRIPTION
62              
63             Lines are currently only placeholders to identify the concept of a line. They don't have stations.
64              
65             =head1 METHODS
66              
67             =head2 id()
68              
69             Returns the line id given in the parsed map file.
70              
71             =head2 name()
72              
73             Returns the line name given in the parsed map file.
74              
75             =head2 description()
76              
77             Returns the line description given in the parsed map file.
78              
79             =head1 SOURCE
80              
81             L<https://github.com/Csson/p5-Map-Metro>
82              
83             =head1 HOMEPAGE
84              
85             L<https://metacpan.org/release/Map-Metro>
86              
87             =head1 AUTHOR
88              
89             Erik Carlsson <info@code301.com>
90              
91             =head1 COPYRIGHT AND LICENSE
92              
93             This software is copyright (c) 2016 by Erik Carlsson.
94              
95             This is free software; you can redistribute it and/or modify it under
96             the same terms as the Perl 5 programming language system itself.
97              
98             =cut