CPAN::Changes::Group(3)

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

•   CPAN::Changes::Release

•   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.