]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/blobdiff - lib/LaTeX/TikZ/Functor.pm
First cut at the documentation
[perl/modules/LaTeX-TikZ.git] / lib / LaTeX / TikZ / Functor.pm
index e302d3fbf591e31f9417555aa463f7367c5162ab..344816438038170d7a7f5668f9929fc14b67ade9 100644 (file)
@@ -15,10 +15,18 @@ Version 0.01
 
 our $VERSION = '0.01';
 
+=head1 DESCRIPTION
+
+A functor takes a L<LaTeX::TikZ::Set> tree and clones it according to certain rules.
+
+=cut
+
 use Carp ();
 
 use Sub::Name ();
 
+use LaTeX::TikZ::Interface;
+
 use LaTeX::TikZ::Tools;
 
 use Any::Moose 'Util' => [ 'does_role' ];
@@ -74,6 +82,12 @@ BEGIN {
  });
 }
 
+=head1 METHODS
+
+=head2 C<default_rule>
+
+=cut
+
 sub default_rule {
  shift;
 
@@ -82,6 +96,10 @@ sub default_rule {
  $insert_rule->($rule, $rule->[2] ? \@default_set_rules : \@default_mod_rules);
 }
 
+=head2 C<< new rules => [ $class_name => sub { ... }, ... ] >>
+
+=cut
+
 sub new {
  my ($class, %args) = @_;
 
@@ -134,11 +152,13 @@ MOD:
  }, $class;
 }
 
-use LaTeX::TikZ::Interface functor => sub {
- shift;
+LaTeX::TikZ::Interface->register(
+ functor => sub {
+  shift;
 
- __PACKAGE__->new(rules => \@_);
-};
+  __PACKAGE__->new(rules => \@_);
+ },
+);
 
 =head1 AUTHOR