our $VERSION = '0.01';
+use LaTeX::TikZ::Interface;
+
use Any::Moose;
+=head1 RELATIONSHIPS
+
+This class consumes the L<LaTeX::TikZ::Mod> role, and as such implements the L</tag>, L</cover>, L</declare> and L</apply> methods.
+
+=cut
+
with 'LaTeX::TikZ::Mod';
+=head1 ATTRIBUTES
+
+=head2 C<content>
+
+=cut
+
has 'content' => (
is => 'ro',
isa => 'Str',
required => 1,
);
+=head1 METHODS
+
+=head2 C<tag>
+
+=cut
+
sub tag {
my ($self) = @_;
ref($self) . '/' . $self->content;
}
+=head2 C<cover>
+
+=cut
+
sub cover { 1 }
+=head2 C<declare>
+
+=cut
+
sub declare { }
+=head2 C<apply>
+
+=cut
+
sub apply { $_[0]->content }
-use LaTeX::TikZ::API raw_mod => sub {
- shift;
+LaTeX::TikZ::Interface->register(
+ raw_mod => sub {
+ shift;
- __PACKAGE__->new(content => $_[0]);
-};
+ __PACKAGE__->new(content => $_[0]);
+ },
+);
__PACKAGE__->meta->make_immutable;
+=head1 SEE ALSO
+
+L<LaTeX::TikZ>, L<LaTeX::TikZ::Mod>.
+
=head1 AUTHOR
Vincent Pit, C<< <perl at profvince.com> >>, L<http://www.profvince.com>.