The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Module::Changes::Entire - an entire Changes file

SYNOPSIS

    use Module::Changes;
    my $changes = Module::Changes->make_object_for_type('entire');
    print $changes->newest_release->version;

DESCRIPTION

This class represents an entire Changes file.

See Module::Changes for the definition of the terms revision, version, subversion and alpha.

METHODS

This class inherits all methods from Module::Changes::Base.

name
    $changes->name('Foo-Bar');
    my $name = $changes->name;

Set or get the overall distribution name of the Changes file.

releases
    $changes->releases_unshift($release);
    for my $release ($changes->releases) { ... }

This is an array accessor giving access to all the releases contained in the Changes file. See Class::Accessor::Complex's mk_array_accessors() for which methods are available.

newest_release
    print $changes->newest_release->version;

Returns the most recent release object.

add_empty_release
    $changes->add_empty_release(sub { my $release = shift; ...  });

Adds a release object. Its version number is taken from the previously most recent release. Its author is also taken from the the previous release.

Takes a coderef argument. The empty release object is passed to the coderef before adding it to the list of releases. The coderef might manipulate the version number, for example.

add_new_revision
    $changes->add_new_revision;

Add a new release. Its version number is taken from the previously most recent release, increased to the next revision. Its author is also taken from the the previous release.

For example, if the previous release was version v0.02, the new release will be version v1.00.

add_new_version
    $changes->add_new_version;

Add a new release. Its version number is taken from the previous release, increased to the next version. Its author is also taken from the the previous release.

For example, if the previous release was version v0.02, the new release will be version v0.03. If it was v0.02_01, it will still be v0.03.

add_new_subversion
    $changes->add_new_subversion;

Add a new release. Its version number is taken from the previous release, increased to the next subversion. Its author is also taken from the the previous release.

For example, if the previous release was version v0.02, the new release will be version v0.02.01.

add_new_alpha
    $changes->add_new_alpha;

Add a new release. Its version number is taken from the previous release, increased to the next alpha. Its author is also taken from the the previous release.

For example, if the previous release was version v0.02, the new release will be version v0.02_01.

TAGS

If you talk about this module in blogs, on del.icio.us or anywhere else, please use the modulechanges tag.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests to bug-module-changes@rt.cpan.org, or through the web interface at http://rt.cpan.org.

INSTALLATION

See perlmodinstall for information and options on installing Perl modules.

AVAILABILITY

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN site near you. Or see <http://www.perl.com/CPAN/authors/id/M/MA/MARCEL/>.

AUTHOR

Marcel Grünauer, <marcel@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2007 by Marcel Grünauer

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.