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' ];
});
}
+=head1 METHODS
+
+=head2 C<default_rule>
+
+=cut
+
sub default_rule {
shift;
$insert_rule->($rule, $rule->[2] ? \@default_set_rules : \@default_mod_rules);
}
+=head2 C<< new rules => [ $class_name => sub { ... }, ... ] >>
+
+=cut
+
sub new {
my ($class, %args) = @_;
}, $class;
}
-use LaTeX::TikZ::Interface functor => sub {
- shift;
+LaTeX::TikZ::Interface->register(
+ functor => sub {
+ shift;
- __PACKAGE__->new(rules => \@_);
-};
+ __PACKAGE__->new(rules => \@_);
+ },
+);
=head1 AUTHOR