CPAN::Changes::Release
Section: User Contributed Perl Documentation (3pm)
Updated: 2014-10-10
Index
Return to Main Contents
NAME
CPAN::Changes::Release - Information about a particular release
SYNOPSIS
my $rel = CPAN::Changes::Release->new(
version => '0.01',
date => '2009-07-06',
);
$rel->add_changes(
{ group => 'THINGS THAT MAY BREAK YOUR CODE' },
'Return a Foo object instead of a Bar object in foobar()'
);
DESCRIPTION
A changelog is made up of one or more releases. This object provides access
to all of the key data that embodies a release including the version number,
date of release, and all of the changelog information lines. Any number of
changelog lines can be grouped together under a heading.
METHODS
new( %args )
Creates a new release object, using %args as the default data.
version( [ $version ] )
Gets/sets the version number for this release.
date( [ $date ] )
Gets/sets the date for this release.
note( [ $note ] )
Gets/sets the note for this release.
changes( [ $group ] )
Gets the list of changes for this release as a hashref of group/changes
pairs. If a group name is specified, an array ref of changes for that group
is returned. Should that group not exist, undef is returned.
add_changes( [ \%options ], @changes )
Appends a list of changes to the release. Specifying a "group" option
appends them to that particular group. NB: the default group is represented
by and empty string.
# Append to default group
$release->add_changes( 'Added foo() function' );
# Append to a particular group
$release->add_changes( { group => 'Fixes' }, 'Fixed foo() function' );
set_changes( [ \%options ], @changes )
Replaces the existing list of changes with the supplied values. Specifying
a "group" option will only replace change items in that group.
clear_changes( )
Clears all changes from the release.
groups( sort => \&sorting_function )
Returns a list of current groups in this release.
If sort is provided, groups are
sorted according to the given function. If not,
they are sorted alphabetically.
add_group( @groups )
Creates an empty group under the names provided.
delete_group( @groups )
Deletes the groups of changes specified.
delete_empty_groups( )
Deletes all groups that don't contain any changes.
serialize( group_sort => \&sorting_function )
Returns the release data as a string, suitable for inclusion in a Changes
file.
If group_sort is provided, change groups are
sorted according to the given function. If not,
groups are sorted alphabetically.
get_group( [ $name ] )
Returns the internal CPAN::Changes::Group object for the group $name.
If $name is not specified, the "default" group "('')" will be returned.
If $name does not exist, a CPAN::Changes::Group object will be created, and returned.
attach_group( $group_object )
Attach a CPAN::Changes::Group object to the "::Release". Note that the name is not specified,
as it is instead determined from "$group_object->name"
group_values( sort => \&sorting_function )
Works like ``groups'' but instead returns "CPAN::Changes::Group" compatible objects.
SEE ALSO
- •
-
CPAN::Changes::Spec
- •
-
CPAN::Changes
- •
-
Test::CPAN::Changes
AUTHOR
Brian Cassidy <bricas@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2011-2013 by Brian Cassidy
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- METHODS
-
- new( %args )
-
- version( [ $version ] )
-
- date( [ $date ] )
-
- note( [ $note ] )
-
- changes( [ $group ] )
-
- add_changes( [ \%options ], @changes )
-
- set_changes( [ \%options ], @changes )
-
- clear_changes( )
-
- groups( sort => \&sorting_function )
-
- add_group( @groups )
-
- delete_group( @groups )
-
- delete_empty_groups( )
-
- serialize( group_sort => \&sorting_function )
-
- get_group( [ $name ] )
-
- attach_group( $group_object )
-
- group_values( sort => \&sorting_function )
-
- SEE ALSO
-
- AUTHOR
-
- COPYRIGHT AND LICENSE
-