oose(3) User Contributed Perl Documentation oose(3)
NAME
oose - syntactic sugar to make Moose one-liners easier
VERSION
version 2.0604
SYNOPSIS
# create a Moose class on the fly ...
perl -Moose=Foo -e 'has bar => ( is=>q[ro], default => q[baz] ); print Foo->new->bar' # prints baz
# loads an existing class (Moose or non-Moose)
# and re-"opens" the package definition to make
# debugging/introspection easier
perl -Moose=+My::Class -e 'print join ", " => __PACKAGE__->meta->get_method_list'
# also loads Moose::Util::TypeConstraints to allow subtypes etc
perl -Moose=Person -e'subtype q[ValidAge] => as q[Int] => where { $_ > 0 && $_ < 78 }; has => age ( isa => q[ValidAge], is => q[ro]); Person->new(age => 90)'
DESCRIPTION
oose.pm is a simple source filter that adds "package $name; use Moose; use Moose::Util::TypeConstraints;" to the beginning of your script
and was entirely created because typing "perl -e'package Foo; use Moose; ...'" was annoying me.
INTERFACE
oose provides exactly one method and it's automatically called by perl:
import($package)
Pass a package name to import to be used by the source filter. The package defaults to "Class" if none is given.
DEPENDENCIES
You will need Filter::Simple and eventually Moose
INCOMPATIBILITIES
None reported. But it is a source filter and might have issues there.
BUGS
See "BUGS" in Moose for details on reporting bugs.
AUTHOR
Moose is maintained by the Moose Cabal, along with the help of many contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for
details.
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Infinity Interactive, Inc..
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
perl v5.16.2 2012-09-19 oose(3)