Search::GIN::Extract::ClassMap::Role - A base role for maps containing classes and associated handlers.
version 1.000003
{ package Foo; use MooseX::Role; with 'Search::GIN::Extract::ClassMap::Role'; sub matches { my ( $self, $extractee ) = @_; my @m; for ( $self->classmap_entries ) { if( $extractee->some_criteria( $_ ) ) { push @m, $self->classmap_get( $_ ); } } return @m; } }
matches
my ( @extractors ) = $item->matches( $extractee )
Must take an object and return a list of Search::GIN::Extract items to use for it.
Search::GIN::Extract
for my $extractor ( @extractors ) { my $metadata = $extractor->extract_values( $extractee ); }
classmap_entries
my ( @classnames ) = $item->classmap_entries();
Fetches the Class names ( keys ) for all registered handlers in this instance. ( Accessor for classmap )
Class
keys
classmap
classmap_set
$item->classmap_set( $classname, $handler );
Sets the handler for class $classname in this instance. ( Setter for classmap )
$classname
classmap_get
$item->classmap_get( $classname );
Gets the handler for class $classname in this instance. ( Getter for classmap )
extract_values
my @values = $instance->extract_values( $extractee );
extracts values from all matching rules for the object
my $item = Thing::That::Does::ClassMap::Role->new( classmap => { classname => handler_for_objects_of_classname } ); # or $item->classmap( classmap => { ... } );
This is a key => value pair set mapping classes to some Extractor to use for that class
$item->classmap_entries # class names / keys $item->classmap_set( $classname, $handler ); my $handler = $item->classmap_get( $classname );
isa
CoercedClassMap
coerce
True
provides
Kent Fredric <kentnl@cpan.org>
This software is copyright (c) 2017 by Kent Fredric <kentfredric@gmail.com>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Search::GIN::Extract::ClassMap, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Search::GIN::Extract::ClassMap
CPAN shell
perl -MCPAN -e shell install Search::GIN::Extract::ClassMap
For more information on module installation, please visit the detailed CPAN module installation guide.