Class::MakeMethods::Emulator3pm
Demonstrate class-generator equivalency
Usage
# Equivalent to use Class::Singleton;use Class::MakeMethods::Emulator::Singleton;# Equivalent to use Class::Struct;use Class::MakeMethods::Emulator::Struct;struct ( ... );# Equivalent to use Class::MethodMaker( ... );use Class::MakeMethods::Emulator::MethodMaker( ... );# Equivalent to use base 'Class::Inheritable';use base 'Class::MakeMethods::Emulator::Inheritable';MyClass->mk_classdata( ... );# Equivalent to use base 'Class::AccessorFast';use base 'Class::MakeMethods::Emulator::AccessorFast';MyClass->mk_accessors(qw(this that whatever));# Equivalent to use accessors( ... );use Class::MakeMethods::Emulator::accessors( ... );# Equivalent to use mcoder( ... );use Class::MakeMethods::Emulator::mcoder( ... );
Overview
In several cases, Class::MakeMethods provides functionality closely equivalent to that of an existing module, and it is simple to map the existing module's interface to that of Class::MakeMethods.
Class::MakeMethods::Emulator provides emulators for Class::MethodMaker, Class::Accessor::Fast, Class::Data::Inheritable, Class::Singleton, Class::Struct, accessors, and mcoder, each of which passes the original module's test suite, usually requiring only the addition of a a single line to each test, activating the emulation module.
Beyond demonstrating compatibility, these emulators also generally indicate the changes needed to switch to direct use of Class::MakeMethods functionality, illustrate commonalities between the various modules, and serve as a source for new ideas that can be integrated into Class::MakeMethods.
Releases
10 releases since Debian 4.0 (Etch); the text changed 3 times.