MyCPAN::Indexer::Component - base class for MyCPAN components
package MyCPAN::Indexer::NewComponent; use base qw(MyCPAN::Indexer::Component); sub component_type { $_[0]->reporter_type }
This module implements features common to all MyCPAN::Indexer components. Each component is able to communicate with a coordinator object to find out the results and notes left by other components. Most of that delegation infrastructure is hidden since each component can call methods on its own instances that this module dispatches appropriately.
MyCPAN::Indexer
Create a new component object. This is mostly to have a place to store a reference to the coordinator object. See get_coordinator.
get_coordinator
Get the coordinator object. This is the object that coordinates all of the components. Each component communicates with the coordinator and other components can see it.
Set the coordinator object. new already does this for you if you pass it a coordinator object. Each component expects the cooridnator object to respond to these methods:
new
get_info set_info get_note set_note get_config set_config increment_note decrement_note push_onto_note unshift_onto_note get_note_list_element set_note_unless_defined
Returns the magic number that identifies the component type. You shouldn't ever have to look at the particular number. Some components might have several types.
For components that implement several roles, create a composite type:
my $custom_type = $self->combine_types( map { $self->$_() } qw( queue_type worker_type ); }
If you want to test that value, use the is_type methods.
is_type
Tests a CONCRETE type (the one a component claims to be) with the TYPE that you want to check. This is the general test.
These are curried versions of is_type. They should be a bit easier to use.
This code is in Github:
git://github.com/briandfoy/mycpan-indexer.git
brian d foy, <bdfoy@cpan.org>
<bdfoy@cpan.org>
Copyright © 2008-2018, brian d foy <bdfoy@cpan.org>. All rights reserved.
You may redistribute this under the terms of the Artistic License 2.0.
To install MyCPAN::Indexer, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MyCPAN::Indexer
CPAN shell
perl -MCPAN -e shell install MyCPAN::Indexer
For more information on module installation, please visit the detailed CPAN module installation guide.