SUSE Package Hub 15 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-Standard-Pool Package Hub 15 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-Standard-Pool Package Hub 15 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 SP1 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-SP1-Backports-Pool Package Hub 15 SP1 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 SP1 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-SP1-Backports-Pool Package Hub 15 SP1 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 SP2 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-SP2-Backports-Pool Package Hub 15 SP2 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 SP2 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-SP2-Backports-Pool Package Hub 15 SP2 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 SP3 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-SP3-Backports-Pool Package Hub 15 SP3 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 SP3 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-SP3-Backports-Pool Package Hub 15 SP3 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 SP4 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-SP4-Backports-Pool Package Hub 15 SP4 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 SP4 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-SP4-Backports-Pool Package Hub 15 SP4 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 SP5 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-SP5-Standard-Pool Package Hub 15 SP5 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way. SUSE Package Hub 15 SP5 one-click install Install perl-MooseX-NonMoose NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-SP5-Standard-Pool Package Hub 15 SP5 Dummy repo - this will fail perl-MooseX-NonMoose easy subclassing of non-Moose classes 'MooseX::NonMoose' allows for easily subclassing non-Moose classes with Moose, taking care of the annoying details connected with doing this, such as setting up proper inheritance from the Moose::Object manpage and installing (and inlining, at 'make_immutable' time) a constructor that makes sure things like 'BUILD' methods are called. It tries to be as non-intrusive as possible - when this module is used, inheriting from non-Moose classes and inheriting from Moose classes should work identically, aside from the few caveats mentioned below. One of the goals of this module is that including it in a the Moose::Exporter manpage-based package used across an entire application should be possible, without interfering with classes that only inherit from Moose modules, or even classes that don't inherit from anything at all. There are several ways to use this module. The most straightforward is to just 'use MooseX::NonMoose;' in your class; this should set up everything necessary for extending non-Moose modules. the MooseX::NonMoose::Meta::Role::Class manpage and the MooseX::NonMoose::Meta::Role::Constructor manpage can also be applied to your metaclasses manually, either by passing a '-traits' option to your 'use Moose;' line, or by applying them using the Moose::Util::MetaRole manpage in a the Moose::Exporter manpage-based package. the MooseX::NonMoose::Meta::Role::Class manpage is the part that provides the main functionality of this module; if you don't care about inlining, this is all you need to worry about. Applying the MooseX::NonMoose::Meta::Role::Constructor manpage as well will provide an inlined constructor when you immutabilize your class. 'MooseX::NonMoose' allows you to manipulate the argument list that gets passed to the superclass constructor by defining a 'FOREIGNBUILDARGS' method. This is called with the same argument list as the 'BUILDARGS' method, but should return a list of arguments to pass to the superclass constructor. This allows 'MooseX::NonMoose' to support superclasses whose constructors would get confused by the extra arguments that Moose requires (for attributes, etc.) Not all non-Moose classes use 'new' as the name of their constructor. This module allows you to extend these classes by explicitly stating which method is the constructor, during the call to 'extends'. The syntax looks like this: extends 'Foo' => { -constructor_name => 'create' }; similar to how you can already pass '-version' in the 'extends' call in a similar way.