Class::Tiny::Antlers - Moose-like sugar for Class::Tiny
has x => (is => 'ro');
has y => (is => 'ro');
has z => (is => 'ro');
Class::Tiny::Antlers provides Moose-like has, extends, with, before, after and around keywords for Class::Tiny. (The with keyword requires Role::Tiny; method modifiers require Class::Method::Modifiers.)
Class::Tiny doesn't support all Moose's attribute options; has should throw you an error if you try to do something it doesn't support (like triggers).
Class::Tiny::Antlers does however hack in support for is => 'ro' and Moo-style is => 'rwp', clearers and predicates.
is => 'ro'
is => 'rwp'
From version 0.24, Class::Tiny::Antlers also adds support for `isa` and `coerce` using Type::Tiny. (I mean, this is a TOBYINK module, so what do you expect?!) Technically MooseX::Types, MouseX::Types, Specio, and Type::Nano should work, but these are less tested.
By default, Class::Tiny::Antlers exports has, with and extends, and also imports strict into its caller. You can optionally also import confess and warnings:
use Class::Tiny::Antlers qw( -default confess warnings );
And Class::Method::Modifiers keywords:
use Class::Tiny::Antlers qw( -default before after around );
use Class::Tiny::Antlers qw( -default -cmm ); # same thing
If you just want everything:
use Class::Tiny::Antlers qw( -all );
Class::Tiny::Antlers also ensures that Class::Tiny's import method is called for your class.
You can put a no Class::Tiny::Antlers statement at the end of your class definition to wipe the imported functions out of your namespace. (This does not unimport strict/warnings though.) To clean up your namespace more thoroughly, use something like namespace::sweep.
has $attr, %spec
Create an attribute. The specification hash roughly supports is, default, clearer and predicate as per Moose and Moo.
Set the base class(es) for your class.
Compose Role::Tiny roles with your class.
before $name, \&code
Install a before modifier using Class::Method::Modifiers.
after $name, \&code
Install a after modifier using Class::Method::Modifiers.
around $name, \&code
Install a around modifier using Class::Method::Modifiers.
confess $format, @list
sprintf-fueled version of Carp's confess.
Class::Tiny::Antlers inherits the get_all_attributes_for and get_all_attribute_defaults_for methods from Class::Tiny, and also provides:
Gets Moose-style attribute specification hashes for all the class' attributes as a big hashref. (Includes inherited attributes.)
Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=Class-Tiny-Antlers.
Class::Tiny, Role::Tiny, Class::Method::Modifiers, Type::Tiny::Manual.
Moose, Mouse, Moo.
Toby Inkster <firstname.lastname@example.org>.
This software is copyright (c) 2013, 2019 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
To install Class::Tiny::Antlers, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell
For more information on module installation, please visit the detailed CPAN module installation guide.