summaryrefslogtreecommitdiff
path: root/lib/Class/MakeMethods/Docs/ReadMe.pod
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Class/MakeMethods/Docs/ReadMe.pod')
-rw-r--r--lib/Class/MakeMethods/Docs/ReadMe.pod279
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