diff options
Diffstat (limited to 'lib/Class/MakeMethods/Docs/ReadMe.pod')
| -rw-r--r-- | lib/Class/MakeMethods/Docs/ReadMe.pod | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/lib/Class/MakeMethods/Docs/ReadMe.pod b/lib/Class/MakeMethods/Docs/ReadMe.pod new file mode 100644 index 0000000..6fd7890 --- /dev/null +++ b/lib/Class/MakeMethods/Docs/ReadMe.pod @@ -0,0 +1,279 @@ +=head1 NAME + +Class::MakeMethods::Docs::ReadMe - About Class::MakeMethods + + +=head1 DESCRIPTION + +This is an updated release of Class::MakeMethods, for distribution through +CPAN. + +This distribution includes the Class::MakeMethods::Template and +Class::MakeMethods::Emulator modules which were packaged sepearately in some +previous releases. + + +=head1 MOTIVATION + +By passing arguments to "use Class::MakeMethods ..." statements, you can +select from a library of hundreds of common types of methods, which are +dynamically installed as subroutines in your module, simplifying the code +for your class. + + +=head1 DISTRIBUTION AND INSTALLATION + +=head2 Version + +This is Class::MakeMethods v1.010, intended for general use. + +This module's CPAN registration should read: + + Name DSLIP Description + -------------- ----- --------------------------------------------- + Class:: + ::MakeMethods RdpOp Generate common types of methods + +=head2 Prerequisites + +In general, this module should work with Perl 5.003 or later, +without requring any modules beyond the core Perl distribution. + +The following optional feature may not be available on some platforms: + +=over 4 + +=item * + +Class::MakeMethods::Attribute: The C<:MakeMethod> subroutine +attribute requires Perl version 5.6 and the Attribute::Handlers +module (from CPAN). + +=item * + +Class::MakeMethods::Template C<--lvalue>: The lvalue modifier +provided by the Template generator subclasses will only work on +Perl version 5.6 or later. + +=item * + +Some third-party tests used to check the compliance of Emulator modules +require Test::More and will be automatically skipped on machines which do +not have this installed. + +=back + +=head2 Installation + +You should be able to install this module using the CPAN shell interface: + + perl -MCPAN -e 'install Class::MakeMethods' + +Alternately, you may retrieve this package from CPAN or from the author's site: + +=over 2 + +=item * + +http://search.cpan.org/~evo/ + +=item * + +http://www.cpan.org/modules/by-authors/id/E/EV/EVO + +=item * + +http://www.evoscript.org/Class-MakeMethods/dist/ + +=back + +After downloading the distribution, follow the normal procedure to unpack and install it, using the commands shown below or their local equivalents on your system: + + tar xzf Class-MakeMethods-*.tar.gz + cd Class-MakeMethods-* + perl Makefile.PL + make test && sudo make install + +Thanks to the kind generosity of other members of the Perl community, +this distribution is also available repackaged in the FreeBSD +"ports" and Linux RPM formats. This may simplify installation for +some users, but be aware that these alternate distributions may +lag a few versions behind the latest release on CPAN. + +=over 2 + +=item * + +http://www.freebsd.org/cgi/ports.cgi?query=Class-MakeMethods + +=item * + +http://www.rpmfind.net/linux/rpm2html/search.php?query=perl-Class-MakeMethods + +=back + +=head2 Tested Platforms + +This release has been tested succesfully on the following platforms: + + 5.6.1 on darwin + +Earlier releases have also tested OK on the following platforms: + + IP30-R12000-irix + OpenBSD.i386-openbsd + i386-freebsd / i386-freebsd-thread-multi + i386-linux + i386-netbsd / i386-netbsd-thread-multi + i586-linux / i586-linux-thread-multi-ld + i686-linux / i686-pld-linux-thread-multi + ia64-linux + ppc-linux + sparc-linux + sparc-netbsd + sun4-solaris + +Some earlier versions failed to "make test" on MSWin32, although +a forced installation would still work; that problem should be +fixed in the most recent releases. + +You may also review the current test results from CPAN-Testers: + +=over 2 + +=item * + +http://testers.cpan.org/show/Class-MakeMethods.html + +=back + +=head1 SUPPORT + +=head2 Release Status + +This module has been used in a variety of production systems and +has been available on CPAN for over two years, with several other +distributions dependant on it, so it would be fair to say that it +is fully released. + +However, while the commonly-used portions are well tested, some of +the more obscure combinations of options are less so, and new bug +reports do trickle in occasionally. If you do encounter any problems, +please inform the author and I'll endeavor to patch them promptly. + +Additional features have been outlined for future development, but +the intent is support these by adding more options to the declaration +interface, while maintaining backward compatibility. + +See L<Class::MakeMethods::Docs::ToDo> for other outstanding issues +and development plans. + +=head2 Support + +If you have questions or feedback about this module, please feel +free to contact the author at the below address. Although there is +no formal support program, I do attempt to answer email promptly. + +I would be particularly interested in any suggestions towards +improving the documentation and correcting any Perl-version or platform +dependencies, as well as general feedback and suggested additions. + +Bug reports that contain a failing test case are greatly appreciated, +and suggested patches will be promptly considered for inclusion in +future releases. + +To report bugs via the CPAN web tracking system, go to +C<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Class-MakeMethods> or send mail +to C<Dist=Class-MakeMethods#rt.cpan.org>, replacing C<#> with C<@>. + +=head2 Community + +If you've found this module useful or have feedback about your +experience with it, consider sharing your opinion with other Perl +users by posting your comment to CPAN's ratings system: + +=over 2 + +=item * + +http://cpanratings.perl.org/rate/?distribution=Class-MakeMethods + +=back + +For more general discussion, you may wish to post a message on PerlMonks or the comp.lang.perl.misc newsgroup: + +=over 2 + +=item * + +http://www.perlmonks.org/index.pl?node=Seekers%20of%20Perl%20Wisdom + +=item * + +http://groups.google.com/groups?group=comp.lang.perl.misc + +=back + + +=head1 CREDITS AND COPYRIGHT + +=head2 Author + +Developed by Matthew Simon Cavalletto at Evolution Softworks. +More free Perl software is available at C<www.evoscript.org>. + +You may contact the author directly at C<evo@cpan.org> or C<simonm@cavalletto.org>. + +=head2 Feedback and Suggestions + +Thanks to the following people for bug reports, suggestions, and other feedback: + + Martyn J. Pearce + Scott R. Godin + Ron Savage + Jay Lawrence + Adam Spiers + Malcolm Cook + Terrence Brannon + Jared Rhine + Peter Chen + Mike Castle + +=head2 Source Material + +This package was inspired by the ground-breaking original closure-generating method maker module: + + Class::MethodMaker, by Peter Seibel. + +Additional inspiration, cool tricks, and blocks of useful code for +this module were extracted from the following CPAN modules: + + Class::Accessor, by Michael G Schwern + Class::Contract, by Damian Conway + Class::SelfMethods, by Toby Everett + +=head2 Copyright + +Copyright 2002, 2003 Matthew Simon Cavalletto. + +Portions copyright 1998, 1999, 2000, 2001 Evolution Online Systems, Inc. + +Based on Class::MethodMaker, originally developed by Peter Seibel. Portions Copyright 1996 Organic Online. Portions Copyright 2000 Martyn J. Pearce. + +Class::MakeMethods::Emulator::accessors is based on accessors. Portions by Steve Purkis. + +Class::MakeMethods::Emulator::AccessorFast is based on Class::Accessor::Fast. Portions Copyright 2000 Michael G Schwern. + +Class::MakeMethods::Emulator::Inheritable is based on Class::Data::Inheritable. Portions Copyright 2000 Damian Conway and Michael G Schwern. + +Class::MakeMethods::Emulator::mcoder is based on mcoder. Portions Copyright 2003 by Salvador Fandiņo. + +Class::MakeMethods::Emulator::Singleton is based on Class::Singleton, by Andy Wardley. Portions Copyright 1998 Canon Research Centre Europe Ltd. + +Class::MakeMethods::Utility::Ref is based on Ref.pm. Portions Copyright 1994 David Muir Sharnoff. + +=head2 License + +You may use, modify, and distribute this software under the same terms as Perl. + +=cut |
