NAME
Attribute::Method::Tags::Registry - Global registry of tags by class and method.
SYNOPSIS
# tags previously created via Attribute::Method::Tags
use Attribute::Method::Tags::Registry;
my @tags = Attribute::Method::Tags::Registry->tags;
foreach my $tag ( @tags ) {
my @classes = Attribute::Method::Tags::Registry->classes_with_tag( $tag );
foreach my $class ( @classes ) {
my @methods = Attributes::Method::Tags::Registry->methods_with_tag( $class, $tag );
foreach my $method ( @methods ) {
print Attribute::Method::Tags::Registry->method_has_tag( $class, $method, $tag );
}
}
}
DESCRIPTION
This class permits addition and querying of the tags defined on methods. It's normally meant to be used in conjunction with Attribute::Method::Tags.
METHODS
All the following are class methods, as the tag registry is shared globally. Note that all parameters for any of the methods below are required.
-
Adds the given list of tags (as an array-ref) for the specified class/method combination. An exception will be raised if either the tags are non-alphanumeric or the method is one that has already had tags registered for it.
-
Find all tags defined for all methods. Returns a sorted list of tags.
- classes_with_tag( $tag )
-
Find all classes that have the specified tag. Returns a sorted list of classes.
- methods_with_tag( $class, $tag )
-
Returns a sorted list of methods in the specified class that have the specified tag.
- method_has_tag( $class, $method, $tag )
-
Returns a boolean (0|1), indicating whether the given method in the given class has the specified tag.
SEE ALSO
AUTHOR
Mark Morgan <makk384@gmail.com>
BUGS
Please send bugs or feature requests through to bugs-Attribute-Method-Tags@rt.rt.cpan.org or through web interface http://rt.cpan.org .
COPYRIGHT AND LICENSE
Copyright 2010 Mark Morgan, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.