NAME

CPAN::Changes::Group - A group of related change information within a release

SYNOPSIS

my $rel = CPAN::Changes::Release->new(
    version => '0.01',
    date    => '2009-07-06',
);

my $grp = CPAN::Changes::Group->new(
    name => 'BugFixes',
);

$grp->add_changes(
  'Return a Foo object instead of a Bar object in foobar()'
);

$rel->attach_group( $grp ); # clobbers existing group if present.

DESCRIPTION

A release is made up of several groups. This object provides access to all of the key data that embodies a such a group.

For instance:

0.27 2013-12-13

- Foo

[ Spec Changes ]

- Bar

Here, there are two groups, the second one, Spec Changes and the first with the empty label q[].

METHODS

new( %args )

Creates a new group object, using %args as the default data.

Group->new(
    name => 'Some Group Name',
    changes    => [ ],
);

name()

Returns the name of the group itself.

changes( [ $group ] )

Gets the list of changes for this group as an arrayref of changes.

add_changes( @changes )

Appends a list of changes to the group.

$group->add_changes( 'Added foo() function' );

set_changes( @changes )

Replaces the existing list of changes with the supplied values.

clear_changes( )

Clears all changes from the group.

groups( sort => \&sorting_function )

Returns a list of current groups in this release.

is_empty()

Returns whether or not the given group has changes.

serialize()

Returns the group data as a string, suitable for inclusion in a Changes file.

SEE ALSO

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.