NAME
MooseX::Types::Combine - Combine type libraries for exporting
VERSION
version 0.50
SYNOPSIS
DESCRIPTION
Allows you to create a single class that will allow you to export types from multiple type libraries:
In this example all types defined in MotorizedTypes
and UnmotorizedTypes
are available through the TransportTypes
combined type library.
package
SkiingTrip;
use
Moose;
has
car
=> (
is
=>
'ro'
,
isa
=> CarType,
required
=> 1 );
has
ski_rack
=> (
is
=>
'ro'
,
isa
=> ArrayRef[SkisType],
required
=> 1 );
...
Libraries on the right end of the list passed to "provide_types_from" take precedence over those on the left in case of conflicts. So, in the above example if both the MotorizedTypes
and UnmotorizedTypes
libraries provided a Bike
type, you'd get the bicycle from UnmotorizedTypes
not the motorbike from MorotizedTypes
.
You can also further combine combined type libraries with additional type libraries or other combined type libraries in the same way to provide even larger type libraries:
package
MeetingTransportTypes;
__PACKAGE__->provide_types_from(
qw/ TransportTypes TelepresenceTypes /
);
1;
CLASS METHODS
provide_types_from
Sets or returns a list of type libraries (or combined type libraries) to re-export from.
type_names
Returns a list of all known types by their name.
SEE ALSO
SUPPORT
Bugs may be submitted through the RT bug tracker (or bug-MooseX-Types@rt.cpan.org).
There is also a mailing list available for users of this distribution, at http://lists.perl.org/list/moose.html.
There is also an irc channel available for users of this distribution, at #moose
on irc.perl.org
.
AUTHOR
Robert "phaylon" Sedlacek <rs@474.at>
COPYRIGHT AND LICENCE
This software is copyright (c) 2007 by Robert "phaylon" Sedlacek.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.