NAME

MyCPAN::Indexer::Notes - Tiny class for MyCPAN component note passing

SYNOPSIS

Use in the coordinator object. This isn't really for the public.

DESCRIPTION

This is a scratchpad for the MyCPAN::Indexer components. As a component does part of its job, it can leave notes that other components can inspect and use.

This is a low-level implementation, so it's stupid about the keys and values that the components might use. It doesn't attempt to validate or constrain the notes in any way. It can, however, act as a base class for a custom notes class.

Methods

new

Create a new notes object. This is really just a fancy hash. You probably shouldn't call this yourself unless you are working in the coordinator object.

get_note( NOTE )

Get the note named NOTE. This could be anything that was set: a string, reference, and so on.

set_note( NOTE, SOMETHING )

Set the note named NOTE. This could be anything you like: a string, reference, and so on.

Convenience methods

This saves you the hassle of getting the value with get_note, changing it, and saving the new value with set_note.

increment_note( NOTE )

Increase the value of NOTE by one. Returns the previous value of NOTE.

decrement_note( NOTE )

Decrease the value of NOTE by one. Returns the previous value of NOTE.

push_onto_note( NOTE, LIST )

Add a value onto the end of the array reference value for NOTE.

unshift_onto_note( NOTE, LIST )

Add a value onto the front of the array reference value for NOTE.

get_note_list_element( NOTE, INDEX )

Return the list element at INDEX for the array reference stored in NOTE.

set_note_unless_defined( NOTE, VALUE )

Set the VALUE for NOTE unless NOTE already has a defined value. Returns the current value if it is already defined.

SOURCE AVAILABILITY

This code is in Github:

        git://github.com/briandfoy/mycpan-indexer.git

AUTHOR

brian d foy, <bdfoy@cpan.org>

COPYRIGHT AND LICENSE

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.