File Coverage

blib/lib/LaTeX/TikZ/Set/Raw.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod 1 2 50.0
total 26 27 96.3


line stmt bran cond sub pod time code
1             package LaTeX::TikZ::Set::Raw;
2              
3 10     10   54 use strict;
  10         18  
  10         338  
4 10     10   54 use warnings;
  10         24  
  10         424  
5              
6             =head1 NAME
7              
8             LaTeX::TikZ::Set::Raw - A literal chunk of TikZ code.
9              
10             =head1 VERSION
11              
12             Version 0.02
13              
14             =cut
15              
16             our $VERSION = '0.02';
17              
18 10     10   53 use LaTeX::TikZ::Interface;
  10         18  
  10         225  
19 10     10   50 use LaTeX::TikZ::Functor;
  10         26  
  10         188  
20              
21 10     10   54 use Any::Moose;
  10         19  
  10         55  
22              
23             =head1 RELATIONSHIPS
24              
25             This class consumes the L<LaTeX::TikZ::Set::Op> role, and as such implements the L</path> method.
26              
27             =cut
28              
29             with 'LaTeX::TikZ::Set::Op';
30              
31             =head1 ATTRIBUTES
32              
33             =head2 C<content>
34              
35             The bare string the raw mod 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<path>
48              
49             =cut
50              
51 223     223 1 1363 sub path { $_[0]->content }
52              
53             LaTeX::TikZ::Interface->register(
54             raw => sub {
55 37     37 0 30579 shift;
56              
57 37         585 __PACKAGE__->new(content => join ' ', @_);
58             },
59             );
60              
61             LaTeX::TikZ::Functor->default_rule(
62             (__PACKAGE__) => sub {
63             my ($functor, $set, @args) = @_;
64             $set->new(content => $set->content);
65             }
66             );
67              
68             __PACKAGE__->meta->make_immutable;
69              
70             =head1 SEE ALSO
71              
72             L<LaTeX::TikZ>, L<LaTeX::TikZ::Set::Op>.
73              
74             =head1 AUTHOR
75              
76             Vincent Pit, C<< <perl at profvince.com> >>, L<http://www.profvince.com>.
77              
78             You can contact me by mail or on C<irc.perl.org> (vincent).
79              
80             =head1 BUGS
81              
82             Please report any bugs or feature requests to C<bug-latex-tikz at rt.cpan.org>, or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=LaTeX-TikZ>.
83             I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
84              
85             =head1 SUPPORT
86              
87             You can find documentation for this module with the perldoc command.
88              
89             perldoc LaTeX::TikZ
90              
91             =head1 COPYRIGHT & LICENSE
92              
93             Copyright 2010 Vincent Pit, all rights reserved.
94              
95             This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
96              
97             =cut
98              
99             1; # End of LaTeX::TikZ::Set::Raw