File Coverage

blib/lib/LaTeX/TikZ/Set/Raw.pm
Criterion Covered Total %
statement 18 20 90.0
branch n/a
condition n/a
subroutine 7 9 77.7
pod 3 4 75.0
total 28 33 84.8


line stmt bran cond sub pod time code
1             package LaTeX::TikZ::Set::Raw;
2              
3 10     10   36 use strict;
  10         13  
  10         722  
4 10     10   45 use warnings;
  10         9  
  10         340  
5              
6             =head1 NAME
7              
8             LaTeX::TikZ::Set::Raw - A literal chunk of TikZ code.
9              
10             =head1 VERSION
11              
12             Version 0.03
13              
14             =cut
15              
16             our $VERSION = '0.03';
17              
18 10     10   34 use LaTeX::TikZ::Interface;
  10         8  
  10         131  
19 10     10   27 use LaTeX::TikZ::Functor;
  10         10  
  10         99  
20              
21 10     10   26 use Mouse;
  10         10  
  10         86  
22              
23             =head1 RELATIONSHIPS
24              
25             This class consumes the L role, and as such implements the L method.
26              
27             =cut
28              
29             with 'LaTeX::TikZ::Set::Path';
30              
31             =head1 ATTRIBUTES
32              
33             =head2 C
34              
35             The bare string the raw set is made of.
36              
37             =cut
38              
39             has 'content' => (
40             is => 'ro',
41             isa => 'Str',
42             required => 1,
43             );
44              
45             =head1 METHODS
46              
47             =head2 C
48              
49             =cut
50              
51 271     271 1 1011 sub path { $_[0]->content }
52              
53             =head2 C
54              
55             =cut
56              
57 0     0 1 0 sub begin { undef }
58              
59             =head2 C
60              
61             =cut
62              
63 0     0 1 0 sub end { undef }
64              
65             LaTeX::TikZ::Interface->register(
66             raw => sub {
67 42     42 0 30292 shift;
68              
69 42         450 __PACKAGE__->new(content => join ' ', @_);
70             },
71             );
72              
73             LaTeX::TikZ::Functor->default_rule(
74             (__PACKAGE__) => sub {
75             my ($functor, $set, @args) = @_;
76             $set->new(content => $set->content);
77             }
78             );
79              
80             __PACKAGE__->meta->make_immutable;
81              
82             =head1 SEE ALSO
83              
84             L, L.
85              
86             =head1 AUTHOR
87              
88             Vincent Pit, C<< >>, L.
89              
90             You can contact me by mail or on C (vincent).
91              
92             =head1 BUGS
93              
94             Please report any bugs or feature requests to C, or through the web interface at L.
95             I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
96              
97             =head1 SUPPORT
98              
99             You can find documentation for this module with the perldoc command.
100              
101             perldoc LaTeX::TikZ
102              
103             =head1 COPYRIGHT & LICENSE
104              
105             Copyright 2010,2011,2012,2013,2014,2015 Vincent Pit, all rights reserved.
106              
107             This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
108              
109             =cut
110              
111             1; # End of LaTeX::TikZ::Set::Raw