File Coverage

lib/Text/Tradition/Collation/Data.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package Text::Tradition::Collation::Data;
2 10     10   78 use Moose;
  10         53  
  10         103  
3 10     10   87886 use Graph;
  10         27  
  10         252  
4 10     10   3476 use Text::Tradition::Datatypes;
  10         47  
  10         2960  
5              
6             has 'sequence' => (
7             is => 'ro',
8             isa => 'Graph',
9             default => sub { Graph->new() },
10             handles => {
11             paths => 'edges',
12             },
13             );
14            
15             has 'relations' => (
16             is => 'ro',
17             isa => 'Text::Tradition::Collation::RelationshipStore',
18             handles => {
19             relationships => 'relationships',
20             related_readings => 'related_readings',
21             get_relationship => 'get_relationship',
22             del_relationship => 'del_relationship',
23             equivalence => 'equivalence',
24             equivalence_graph => 'equivalence_graph',
25             relationship_types => 'types'
26             },
27             writer => '_set_relations',
28             );
29              
30             has 'readings' => (
31             isa => 'HashRef[Text::Tradition::Collation::Reading]',
32             traits => ['Hash'],
33             handles => {
34             reading => 'get',
35             _add_reading => 'set',
36             del_reading => 'delete',
37             has_reading => 'exists',
38             # reading_keys => 'keys',
39             readings => 'values',
40             },
41             default => sub { {} },
42             );
43              
44             has 'wit_list_separator' => (
45             is => 'rw',
46             isa => 'Str',
47             default => ', ',
48             );
49              
50             has 'baselabel' => (
51             is => 'rw',
52             isa => 'Str',
53             default => 'base text',
54             );
55              
56             has 'linear' => (
57             is => 'rw',
58             isa => 'Bool',
59             default => 1,
60             );
61            
62             has 'ac_label' => (
63             is => 'rw',
64             isa => 'Str',
65             default => ' (a.c.)',
66             );
67            
68             has 'wordsep' => (
69             is => 'rw',
70             isa => 'Str',
71             default => ' ',
72             );
73            
74             has 'direction' => (
75             is => 'ro',
76             isa => 'TextDirection',
77             default => 'LR',
78             writer => 'change_direction',
79             );
80            
81             has 'start' => (
82             is => 'ro',
83             isa => 'Text::Tradition::Collation::Reading',
84             writer => '_set_start',
85             weak_ref => 1,
86             );
87              
88             has 'end' => (
89             is => 'ro',
90             isa => 'Text::Tradition::Collation::Reading',
91             writer => '_set_end',
92             weak_ref => 1,
93             );
94            
95             has 'cached_table' => (
96             is => 'rw',
97             isa => 'HashRef',
98             predicate => 'has_cached_table',
99             clearer => 'wipe_table',
100             );
101            
102             has '_graphcalc_done' => (
103             is => 'rw',
104             isa => 'Bool',
105             default => undef,
106             );
107              
108             1;