MooseX-Has-Sugar-0.05070422/0000755000175000017500000000000012243071627013607 5ustar kentkentMooseX-Has-Sugar-0.05070422/LICENSE0000644000175000017500000004365312243071627014627 0ustar kentkentThis software is copyright (c) 2013 by Kent Fredric. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Terms of the Perl programming language system itself a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" --- The GNU General Public License, Version 1, February 1989 --- This software is Copyright (c) 2013 by Kent Fredric. This is free software, licensed under: The GNU General Public License, Version 1, February 1989 GNU GENERAL PUBLIC LICENSE Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The license agreements of most software companies try to keep users at the mercy of those companies. By contrast, our General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. The General Public License applies to the Free Software Foundation's software and to any other program whose authors commit to using it. You can use it for your programs, too. When we speak of free software, we are referring to freedom, not price. Specifically, the General Public License is designed to make sure that you have the freedom to give away or sell copies of free software, that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of a such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any work containing the Program or a portion of it, either verbatim or with modifications. Each licensee is addressed as "you". 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this General Public License and to the absence of any warranty; and give any other recipients of the Program a copy of this General Public License along with the Program. You may charge a fee for the physical act of transferring a copy. 2. You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above, provided that you also do the following: a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and b) cause the whole of any work that you distribute or publish, that in whole or in part contains the Program or any part thereof, either with or without modifications, to be licensed at no charge to all third parties under the terms of this General Public License (except that you may choose to grant warranty protection to some or all third parties, at your option). c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the simplest and most usual way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this General Public License. d) You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. Mere aggregation of another independent work with the Program (or its derivative) on a volume of a storage or distribution medium does not bring the other work under the scope of these terms. 3. You may copy and distribute the Program (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following: a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or, b) accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or, c) accompany it with the information you received as to where the corresponding source code may be obtained. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form alone.) Source code for a work means the preferred form of the work for making modifications to it. For an executable file, complete source code means all the source code for all modules it contains; but, as a special exception, it need not include source code for modules which are standard libraries that accompany the operating system on which the executable file runs, or for standard header files or definitions files that accompany that operating system. 4. You may not copy, modify, sublicense, distribute or transfer the Program except as expressly provided under this General Public License. Any attempt otherwise to copy, modify, sublicense, distribute or transfer the Program is void, and will automatically terminate your rights to use the Program under this License. However, parties who have received copies, or rights to use copies, from you under this General Public License will not have their licenses terminated so long as such parties remain in full compliance. 5. By copying, distributing or modifying the Program (or any work based on the Program) you indicate your acceptance of this license to do so, and all its terms and conditions. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. 7. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of the license which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the license, you may choose any version ever published by the Free Software Foundation. 8. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to humanity, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19xx name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (a program to direct compilers to make passes at assemblers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice That's all there is to it! --- The Artistic License 1.0 --- This software is Copyright (c) 2013 by Kent Fredric. This is free software, licensed under: The Artistic License 1.0 The Artistic License Preamble The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. Definitions: - "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. - "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder. - "Copyright Holder" is whoever is named in the copyright or copyrights for the package. - "You" is you, if you're thinking about copying or distributing this Package. - "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) - "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. 1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. 3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. b) use the modified Package only within your corporation or organization. c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. d) make other distribution arrangements with the Copyright Holder. 4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. b) accompany the distribution with the machine-readable source of the Package with your modifications. c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. d) make other distribution arrangements with the Copyright Holder. 5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. 6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package. 7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package. 8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. 9. 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. The End MooseX-Has-Sugar-0.05070422/Changes0000644000175000017500000001701612243071627015107 0ustar kentkentRevision history for MooseX-Has-Sugar 0.05070422 2013-11-20T08:32:12Z [00 Maint release] [Dependencies::Added / develop requires] - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl - Dist::Zilla::Plugin::Authority 1.006 - Dist::Zilla::Plugin::AutoPrereqs - Dist::Zilla::Plugin::CheckExtraTests - Dist::Zilla::Plugin::ConfirmRelease - Dist::Zilla::Plugin::EOLTests - Dist::Zilla::Plugin::Git::Check - Dist::Zilla::Plugin::Git::Commit - Dist::Zilla::Plugin::Git::CommitBuild - Dist::Zilla::Plugin::Git::GatherDir - Dist::Zilla::Plugin::Git::NextVersion - Dist::Zilla::Plugin::Git::Tag - Dist::Zilla::Plugin::GithubMeta - Dist::Zilla::Plugin::License - Dist::Zilla::Plugin::Manifest - Dist::Zilla::Plugin::ManifestSkip - Dist::Zilla::Plugin::MetaConfig - Dist::Zilla::Plugin::MetaData::BuiltWith - Dist::Zilla::Plugin::MetaJSON - Dist::Zilla::Plugin::MetaProvides::Package 1.14000001 - Dist::Zilla::Plugin::MetaTests - Dist::Zilla::Plugin::MetaYAML - Dist::Zilla::Plugin::ModuleBuild - Dist::Zilla::Plugin::NextRelease - Dist::Zilla::Plugin::PkgVersion - Dist::Zilla::Plugin::PodCoverageTests - Dist::Zilla::Plugin::PodSyntaxTests - Dist::Zilla::Plugin::PodWeaver - Dist::Zilla::Plugin::Prereqs - Dist::Zilla::Plugin::Prereqs::MatchInstalled - Dist::Zilla::Plugin::PruneCruft - Dist::Zilla::Plugin::ReadmeAnyFromPod - Dist::Zilla::Plugin::ReadmeFromPod - Dist::Zilla::Plugin::ReportVersions::Tiny - Dist::Zilla::Plugin::Test::CPAN::Changes - Dist::Zilla::Plugin::Test::Compile::PerFile - Dist::Zilla::Plugin::Test::Kwalitee - Dist::Zilla::Plugin::Test::MinimumVersion - Dist::Zilla::Plugin::Test::Perl::Critic - Dist::Zilla::Plugin::TestRelease - Dist::Zilla::Plugin::Twitter - Dist::Zilla::Plugin::UploadToCPAN - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001 - Pod::Coverage::TrustPod - Test::CPAN::Changes 0.19 - Test::CPAN::Meta - Test::Kwalitee 1.12 - Test::Pod 1.41 - Test::Pod::Coverage 1.08 - version 0.9901 [Dependencies::Added / develop suggests] - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0 [Dependencies::Added / test requires] - lib [Dependencies::Changed / build requires] - Module::Build 0.4002 → 0.4202 [Dependencies::Changed / configure requires] - Module::Build 0.4002 → 0.4202 [Dependencies::Changed / test requires] - Test::More 0.98 → 1.001002 [Dependencies::Removed / develop recommends] - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0 [Dependencies::Removed / develop requires] - Dist::Zilla::PluginBundle::Author::KENTNL::Lite [Dependencies::Removed / develop suggests] - Dist::Zilla::PluginBundle::Author::KENTNL v1.4.3 [Dependencies::Removed / test requires] - File::Find - File::Temp [Documentation] - Update © Year - Specify doc encoding. [Meta] - Bug tracker to github issues [Packaging] - Use test_requires with new MB [Tests] - Switch to Test::Compile::PerFile - Update ReportVersions::Tiny test - Update CPAN::Changes test - Update Kwalitee test 0.05070421 2012-08-03T10:25:23Z [Bugs] - Fixed use of a Test::Builder method that is going away. Thanks to Schwern for reporting and providing the patch. [Dependencies::Changed / build requires] - Module::Build 0.3601 → 0.4002 [Dependencies::Changed / configure requires] - Module::Build 0.3601 → 0.4002 [Dependencies::Changed / develop recommends] - Dist::Zilla::PluginBundle::Author::KENTNL::Lite 0.01009803 → v1.3.0 [Dependencies::Changed / develop suggests] - Dist::Zilla::PluginBundle::Author::KENTNL v1.2.0 → v1.4.3 [Dependencies::Changed / test requires] - Test::More 0.88 → 0.98 [TODO] - Thinking of adding Moo support of some kind, but Moo is notedly different. Esp: lazy/lazy_build. - I considered making a Moo-style-for-Moose version, but then considered that implementing 'lazy' would have to know what the attribute was called to set the respective Moose builder value, so that is Too Hard. - Please, if you're reading this and have suggestions/feedback, feel free to hit me up on IRC =). 0.05070420 2012-02-03T03:33:11Z - Maintenance/Packaging release. [Dependencies::Added / runtime requires] - perl 5.006 - strict - warnings [Dependencies::Changed / develop suggests] - Dist::Zilla::PluginBundle::Author::KENTNL v1.0.0 → v1.2.0 [Dependencies::Removed / test requires] - English [Internals] - All namespaces provide $AUTHORITY - $VERSION moved to outside of BEGIN [Packaging] - Update LICENSE ( Year, Address, Indentation ) - Extra Tests moved to xt/ - Git URI's moved to https:// - Export x_authority - Git based versions instead of auto incrementing relative versions. 0.05070419 2011-04-07T02:03:19Z - Maintainence only release. No external changes. [Dependencies::Added / develop recommends] - Dist::Zilla::PluginBundle::Author::KENTNL::Lite 0.01009803 [Dependencies::Added / develop requires] - Dist::Zilla::PluginBundle::Author::KENTNL::Lite [Dependencies::Added / develop suggests] - Dist::Zilla::PluginBundle::Author::KENTNL v1.0.0 [Dependencies::Removed / develop recommends] - Dist::Zilla::PluginBundle::KENTNL::Lite 0.01009803 [Dependencies::Removed / develop requires] - Dist::Zilla::PluginBundle::KENTNL::Lite [Dependencies::Removed / develop suggests] - Dist::Zilla::PluginBundle::KENTNL 0.01017119 [Packaging] - Moved to @Author::KENTNL - update gitignore and perlcritic rules. - ship perltidyrc - Normalize Changes. [Tests] - Add CPAN::Changes test - Remove portability test 0.05055616 2010-11-13T23:43:43Z - Replaced Test::Exceptions with Test::Fatal - Removed FindBin in tests. - Core Tests now 5% faster!. [Dependencies::Added / develop recommends] - Dist::Zilla::PluginBundle::KENTNL::Lite 0.01009803 [Dependencies::Added / develop requires] - Dist::Zilla::PluginBundle::KENTNL::Lite [Dependencies::Added / develop suggests] - Dist::Zilla::PluginBundle::KENTNL 0.01017119 [Dependencies::Added / test requires] - Test::Fatal [Dependencies::Removed / test requires] - FindBin - Test::Exception 0.05046611 2010-08-16T18:30:39Z - Improved docs and tests for Saccharin. ( Alexandr Ciornii / chorny ) - Eradicated excess in xt/. [Dependencies::Added / test requires] - English - MooseX::Types::Moose 0.05044303 2010-07-24T10:03:50Z - Migrate to @KENTNL Dzil. - Rework t/ dirs. - Drop depend on MX::Types in tests. - Drop accidental dep on Test::Kwalitee 0.0405 2009-12-04T09:20:43Z - Toolkit upgrade & rebuild. - Testsuite cleanup. - Documentation overhaul with ::Weaver - Dropped :allattrs from MXHS as its identical to :default - Tests drop Find::Lib; 0.0404 2009-07-06T03:34:10Z - Added Saccharin, experimental sugars. 0.0403 2009-06-30T13:56:07Z - Using Dist::Zilla's handy author-tests feature - Revised Docmentation a little to be more correct 0.0402 2009-06-29T19:43:05Z - Fixed missing META.yml in Dzil build 0.0401 2009-06-29T18:16:51Z - Fixed Dep on Moose Test. - Moved to Dist::Zilla. - Loads of edits for change 0.0400 2009-06-28T00:53:52Z - Improved Test cases - Improved meta dependency advertising - added 'bare' keyword. 0.0300 2009-05-29T16:22:57Z - export group :is/-is moved to ::Minimal. - MX::H::S::Minimal exports by default - MX::H::Sugar exports all list-flavours by default. - MX::H::Sugar croaks if group :is is requested. - Test/Documentation updated. 0.0200 2009-05-16T21:38:31Z - Fixed META.yml - Added weak_ref, coerce and auto_deref to -attrs - Added collision detection to complain if you use it wrong. - Removed Constant Folding based subs, too pesky at present. - Added A bunch of tests. 0.0100 2009-05-15T09:18:30Z - First version. MooseX-Has-Sugar-0.05070422/lib/0000755000175000017500000000000012243071627014355 5ustar kentkentMooseX-Has-Sugar-0.05070422/lib/MooseX/0000755000175000017500000000000012243071627015567 5ustar kentkentMooseX-Has-Sugar-0.05070422/lib/MooseX/Has/0000755000175000017500000000000012243071627016302 5ustar kentkentMooseX-Has-Sugar-0.05070422/lib/MooseX/Has/Sugar/0000755000175000017500000000000012243071627017363 5ustar kentkentMooseX-Has-Sugar-0.05070422/lib/MooseX/Has/Sugar/Saccharin.pm0000644000175000017500000001212012243071627021610 0ustar kentkentuse warnings; use strict; package MooseX::Has::Sugar::Saccharin; BEGIN { $MooseX::Has::Sugar::Saccharin::AUTHORITY = 'cpan:KENTNL'; } { $MooseX::Has::Sugar::Saccharin::VERSION = '0.05070422'; } # ABSTRACT: Experimental sweetness use Carp (); use Sub::Exporter (); Sub::Exporter::setup_exporter( { exports => [ 'ro', 'rw', 'required', 'lazy', 'lazy_build', 'coerce', 'weak_ref', 'auto_deref', 'bare', 'default', 'init_arg', 'predicate', 'clearer', 'builder', 'trigger', ], groups => { default => ['-all'], } } ); sub bare($) { return ( 'is', 'bare', 'isa', shift, ); } sub ro($) { return ( 'is', 'ro', 'isa', shift, ); } sub rw($) { return ( 'is', 'rw', 'isa', shift, ); } sub required(@) { return ( 'required', 1, @_ ); } sub lazy(@) { return ( 'lazy', 1, @_ ); } sub lazy_build(@) { return ( 'lazy_build', 1, @_ ); } sub weak_ref(@) { return ( 'weak_ref', 1, @_ ); } sub coerce(@) { return ( 'coerce', 1, @_ ); } sub auto_deref(@) { return ( 'auto_deref', 1, @_ ); } sub builder($) { return ( 'builder', shift ); } sub predicate($) { return ( 'predicate', shift ); } sub clearer($) { return ( 'clearer', shift ); } sub init_arg($) { return ( 'init_arg', shift ); } ## no critic (ProhibitBuiltinHomonyms) sub default(&) { my $code = shift; return ( 'default', sub { my $self = $_[0]; local $_ = $self; return $code->(); } ); } sub trigger(&) { my $code = shift; return ( 'trigger', sub { my $self = $_[0]; local $_ = $self; return $code->(); } ); } 1; __END__ =pod =encoding UTF-8 =head1 NAME MooseX::Has::Sugar::Saccharin - Experimental sweetness =head1 VERSION version 0.05070422 =head1 SYNOPSIS This is a highly experimental sugaring module. No Guarantees of stability. use MooseX::Types::Moose qw( :all ); has name => rw Str, default { 1 }; has suffix => required rw Str; has 'suffix', required rw Str; Your choice. =head1 EXPORT GROUPS =head2 C<:default> exports L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, =head1 EXPORTED FUNCTIONS =head2 C =head2 C C<$Type> bare Str equivalent to this is => 'bare', isa => Str =head2 C =head2 C C<$Type> ro Str equivalent to this is => 'ro', isa => Str, =head2 C =head2 C C<$Type> rw Str equivalent to this is => 'rw', isa => Str =head2 C =head2 C this required rw Str is equivalent to this required => 1, is => 'rw', isa => Str, this rw Str, required is equivalent to this is => 'rw', isa => Str , required => 1 =head2 C =head2 C like C<< ( lazy => 1 , @rest ) >> =head2 C =head2 C like C<< ( lazy_build => 1, @rest ) >> =head2 C =head2 C like C<< ( weak_ref => 1, @rest ) >> =head2 C =head2 C like C<< ( coerce => 1, @rest ) >> =head3 WARNING: Conflicts with L<< C C method|MooseX::Types/coerce >> =head2 C =head2 C like C<< ( auto_deref => 1, @rest ) >> =head2 C =head2 C required rw Str, builder '_build_foo' is like builder => '_build_foo' =head2 C =head2 C see L =head2 C =head2 C see L =head2 C =head2 C see L =head2 C =head2 C Examples: default { 1 } default { { } } default { [ ] } default { $_->otherfield } $_ is localised as the same value as $_[0] for convenience ( usually $self ) =head2 C =head2 C Works exactly like default. =head1 CONFLICTS =head2 MooseX::Has::Sugar =head2 MooseX::Has::Sugar::Minimal This module is not intended to be used in conjunction with L<::Sugar|MooseX::Has::Sugar> or L<::Sugar::Minimal|MooseX::Has::Sugar::Minimal> We export many of the same symbols and its just not very sensible. =head2 MooseX::Types =head2 Moose::Util::TypeConstraints due to exporting the L symbol, using us in the same scope as a call to use MooseX::Types .... or use Moose::Util::TypeConstraints will result in a symbol collision. We recommend using and creating proper type libraries instead, ( which will absolve you entirely of the need to use MooseX::Types and MooseX::Has::Sugar(::*)? in the same scope ) =head2 Perl 5.010 feature 'switch' the keyword 'default' becomes part of Perl in both these cases: use 5.010; use feature qw( :switch ); As such, we can't have that keyword in that scenario. =head1 AUTHOR Kent Fredric =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut MooseX-Has-Sugar-0.05070422/lib/MooseX/Has/Sugar/Minimal.pm0000644000175000017500000000467512243071627021323 0ustar kentkentuse warnings; use strict; package MooseX::Has::Sugar::Minimal; BEGIN { $MooseX::Has::Sugar::Minimal::AUTHORITY = 'cpan:KENTNL'; } { $MooseX::Has::Sugar::Minimal::VERSION = '0.05070422'; } # ABSTRACT: Less Sugary Syntax for moose 'has' fields use Sub::Exporter (); Sub::Exporter::setup_exporter( { exports => [ 'ro', 'rw', 'bare', ], groups => { is => [ 'ro', 'rw', 'bare', ], default => ['-is'], } } ); sub bare() { return ('bare'); } sub ro() { return ('ro'); } sub rw() { return ('rw'); } 1; __END__ =pod =encoding UTF-8 =head1 NAME MooseX::Has::Sugar::Minimal - Less Sugary Syntax for moose 'has' fields =head1 VERSION version 0.05070422 =head1 SYNOPSIS This is a legacy variant of L which only exports C and C functions, the way L used to with C<:is>; use MooseX::Types::Moose qw( Str ); use MooseX::Has::Sugar::Minimal; has foo => ( isa => Str, is => ro, required => 1, ); has bar => ( isa => Str, is => rw, lazy_build => 1, ); All functions are exported by L. =head1 EXPORT GROUPS =head2 C<:default> Exports L =head2 C<:is> Exports L, L, L =head1 EXPORTED FUNCTIONS =head2 C returns C<('bare')> =head2 C returns C<('ro')> =head2 C returns C<('rw')> =head1 CONFLICTS =head2 MooseX::Has::Sugar =head2 MooseX::Has::Sugar::Saccharin This module is not intended to be used in conjunction with L<::Sugar|MooseX::Has::Sugar> or L<::Sugar::Saccharin|MooseX::Has::Sugar::Saccharin>. We all export L and L in different ways. If you do however want to use them in conjunction, specific imports must be done on L side to stop it exporting different ro/rw. Any of the below should be fine. use MooseX::Has::Sugar::Minimal; use MooseX::Has::Sugar qw( :attrs ); has foo =>( is => rw , lazy_build ); use MooseX::Has::Sugar::Minimal; use MooseX::Has::Sugar qw( lazy_build ); has foo =>( is => rw , lazy_build ); =head1 AUTHOR Kent Fredric =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut MooseX-Has-Sugar-0.05070422/lib/MooseX/Has/Sugar.pm0000644000175000017500000001560212243071627017725 0ustar kentkentuse warnings; use strict; package MooseX::Has::Sugar; BEGIN { $MooseX::Has::Sugar::AUTHORITY = 'cpan:KENTNL'; } { $MooseX::Has::Sugar::VERSION = '0.05070422'; } # ABSTRACT: Sugar Syntax for moose 'has' fields use Carp (); use Sub::Exporter (); Sub::Exporter::setup_exporter( { as => 'do_import', exports => [ 'ro', 'rw', 'required', 'lazy', 'lazy_build', 'coerce', 'weak_ref', 'auto_deref', 'bare', ], groups => { isattrs => [ 'ro', 'rw', 'bare', ], attrs => [ 'required', 'lazy', 'lazy_build', 'coerce', 'weak_ref', 'auto_deref', ], default => [ '-attrs', '-isattrs' ], } } ); sub import { for (@_) { if ( $_ =~ qr/^[:-]is\$/ ) { Carp::croak( qq{Trivial ro/rw with :is dropped as of 0.0300.\n} . q{ See MooseX::Has::Sugar::Minimal for those. } ); } if ( $_ =~ qr/^[:-]allattrs\$/ ) { Carp::carp(q{MooseX::Has::Sugar->import(:allattrs) is deprecated. just do 'use MooseX::Has::Sugar;' instead.}); $_ =~ s/^[:-]allattrs\$/:default/; } } goto &MooseX::Has::Sugar::do_import; } sub bare() { return ( 'is', 'bare' ); } sub ro() { return ( 'is', 'ro' ); } sub rw() { return ( 'is', 'rw' ); } sub required() { return ( 'required', 1 ); } sub lazy() { return ( 'lazy', 1 ); } sub lazy_build() { return ( 'lazy_build', 1 ); } sub weak_ref() { return ( 'weak_ref', 1 ); } sub coerce() { return ( 'coerce', 1 ); } sub auto_deref() { return ( 'auto_deref', 1 ); } 1; __END__ =pod =encoding UTF-8 =head1 NAME MooseX::Has::Sugar - Sugar Syntax for moose 'has' fields =head1 VERSION version 0.05070422 =head1 SYNOPSIS L C syntax is generally fine, but sometimes one gets bothered with the constant typing of string quotes for things. L exists and in many ways reduces the need for constant string creation. =head2 Primary Benefits at a Glance =head3 Reduced Typing in C declarations. The constant need to type C<=E> and C<''> is fine for one-off cases, but the instant you have more than about 4 attributes it starts to get annoying. =head3 More compact declarations. Reduces much of the redundant typing in most cases, which makes your life easier, and makes it take up less visual space, which makes it faster to read. =head3 No String Worries Strings are often problematic, due to white-space etc. Noted that if you do happen to mess them up, Moose should at I warn you that you've done something daft. Using this alleviates that worry. =head2 Before this Module. =head3 Classical Moose has foo => ( isa => 'Str', is => 'ro', required => 1, ); has bar => ( isa => 'Str', is => 'rw' lazy_build => 1, ); =head3 Lazy Evil way to do it: B has qw( foo isa Str is ro required 1 ); has qw( bar isa Str is rw lazy_build 1 ); =head2 With this module ( and with MooseX::Types ) use MooseX::Types::Moose qw( Str ); use MooseX::Has::Sugar; has foo => ( isa => Str, ro, required, ); has bar => ( isa => Str, rw, lazy_build, ); Or even use MooseX::Types::Moose qw( Str ); use MooseX::Has::Sugar; has foo => ( isa => Str, ro, required, ); has bar => ( isa => Str, rw, lazy_build, ); =head2 Alternative Forms =head3 Basic C Expansion Only ( using L<::Sugar::Minimal|MooseX::Has::Sugar::Minimal> instead ) use MooseX::Types::Moose qw( Str ); use MooseX::Has::Sugar::Minimal; has foo => ( isa => Str, is => ro, required => 1, ); has bar => ( isa => Str, is => rw, lazy_build => 1, ); =head3 Attribute Expansions with Basic Expansions ( Combining parts of this and L<::Sugar::Minimal|MooseX::Has::Sugar::Minimal> ) use MooseX::Types::Moose qw( Str ); use MooseX::Has::Sugar::Minimal; use MooseX::Has::Sugar qw( :attrs ); has foo => ( isa => Str, is => ro, required, ); has bar => ( isa => Str, is => rw, lazy_build, ); =head1 EXPORT GROUPS =head2 C<:default> Since 0.0300, this exports all our syntax, the same as C<:attrs> C<:isattrs>. Primarily because I found you generally want all the sugar, not just part of it. This also gets rid of that nasty exclusion logic. =head2 C<:isattrs> This exports C, C and C as lists, so they behave as stand-alone attributes like L does. has foo => ( required, isa => 'Str', ro, ); B> : L =head2 C<:attrs> This exports L , L and L, L, L and L as subs that assume positive. has foo => ( required, isa => 'Str', ); B and L> : L =head2 C<:is> B. See L<::Sugar::Minimal|MooseX::Has::Sugar::Minimal> for the same functionality =head2 C<:allattrs> B, just use L or do use MooseX::Has::Sugar; =head1 EXPORTED FUNCTIONS =head2 C returns C<('is','bare')> =head2 C returns C<('is','ro')> =head2 C returns C<('is','rw')> =head2 C returns C<('required',1)> =head2 C returns C<('lazy',1)> =head2 C returns C<('lazy_build',1)> =head2 C returns C<('weak_ref',1)> =head2 C returns C<('coerce',1)> B Conflict with L and L, see L. =head2 C returns C<('auto_deref',1)> =head1 CONFLICTS =head2 MooseX::Has::Sugar::Minimal =head2 MooseX::Has::Sugar::Saccharin This module is not intended to be used in conjunction with L<::Sugar::Minimal|MooseX::Has::Sugar::Minimal> or L<::Sugar::Saccharin|MooseX::Has::Sugar::Saccharin> We export many of the same symbols and its just not very sensible. =head2 MooseX::Types =head2 Moose::Util::TypeConstraints due to exporting the L symbol, using us in the same scope as a call to use MooseX::Types .... or use Moose::Util::TypeConstraints will result in a symbol collision. We recommend using and creating proper type libraries instead, ( which will absolve you entirely of the need to use MooseX::Types and MooseX::Has::Sugar(::*)? in the same scope ) =head1 AUTHOR Kent Fredric =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut MooseX-Has-Sugar-0.05070422/xt/0000755000175000017500000000000012243071627014242 5ustar kentkentMooseX-Has-Sugar-0.05070422/xt/release/0000755000175000017500000000000012243071627015662 5ustar kentkentMooseX-Has-Sugar-0.05070422/xt/release/pod-coverage.t0000644000175000017500000000052712243071627020426 0ustar kentkent#!perl use Test::More; eval "use Test::Pod::Coverage 1.08"; plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage" if $@; eval "use Pod::Coverage::TrustPod"; plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage" if $@; all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' }); MooseX-Has-Sugar-0.05070422/xt/release/cpan-changes.t0000644000175000017500000000026312243071627020377 0ustar kentkent#!perl use strict; use warnings; use Test::More 0.96 tests => 2; use_ok('Test::CPAN::Changes'); subtest 'changes_ok' => sub { changes_file_ok('Changes'); }; done_testing(); MooseX-Has-Sugar-0.05070422/xt/release/pod-syntax.t0000644000175000017500000000021212243071627020150 0ustar kentkent#!perl use Test::More; eval "use Test::Pod 1.41"; plan skip_all => "Test::Pod 1.41 required for testing POD" if $@; all_pod_files_ok(); MooseX-Has-Sugar-0.05070422/xt/release/distmeta.t0000644000175000017500000000021712243071627017661 0ustar kentkent#!perl use Test::More; eval "use Test::CPAN::Meta"; plan skip_all => "Test::CPAN::Meta required for testing META.yml" if $@; meta_yaml_ok(); MooseX-Has-Sugar-0.05070422/xt/release/minimum-version.t0000644000175000017500000000027012243071627021204 0ustar kentkent#!perl use Test::More; eval "use Test::MinimumVersion"; plan skip_all => "Test::MinimumVersion required for testing minimum versions" if $@; all_minimum_version_from_metayml_ok(); MooseX-Has-Sugar-0.05070422/xt/release/kwalitee.t0000644000175000017500000000016612243071627017657 0ustar kentkent# this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.07 use strict; use warnings; use Test::Kwalitee; MooseX-Has-Sugar-0.05070422/xt/release/eol.t0000644000175000017500000000024012243071627016622 0ustar kentkentuse strict; use warnings; use Test::More; eval 'use Test::EOL'; plan skip_all => 'Test::EOL required' if $@; all_perl_files_ok({ trailing_whitespace => 1 }); MooseX-Has-Sugar-0.05070422/xt/author/0000755000175000017500000000000012243071627015544 5ustar kentkentMooseX-Has-Sugar-0.05070422/xt/author/critic.t0000644000175000017500000000043512243071627017210 0ustar kentkent#!perl use strict; use warnings; use Test::More; use English qw(-no_match_vars); eval "use Test::Perl::Critic"; plan skip_all => 'Test::Perl::Critic required to criticise code' if $@; Test::Perl::Critic->import( -profile => "perlcritic.rc" ) if -e "perlcritic.rc"; all_critic_ok(); MooseX-Has-Sugar-0.05070422/Build.PL0000644000175000017500000000245012243071627015104 0ustar kentkent use strict; use warnings; use Module::Build 0.3601; my %module_build_args = ( "build_requires" => { "Module::Build" => "0.4202" }, "configure_requires" => { "Module::Build" => "0.4202" }, "dist_abstract" => "Sugar Syntax for moose 'has' fields", "dist_author" => [ "Kent Fredric " ], "dist_name" => "MooseX-Has-Sugar", "dist_version" => "0.05070422", "license" => "perl", "module_name" => "MooseX::Has::Sugar", "recommends" => {}, "recursive_test_files" => 1, "requires" => { "Carp" => 0, "Sub::Exporter" => 0, "perl" => "5.006", "strict" => 0, "warnings" => 0 }, "script_files" => [], "test_requires" => { "Moose" => 0, "MooseX::Types::Moose" => 0, "Test::Fatal" => 0, "Test::More" => "1.001002", "lib" => 0, "namespace::autoclean" => 0 } ); my %fallback_build_requires = ( "Module::Build" => "0.4202", "Moose" => 0, "MooseX::Types::Moose" => 0, "Test::Fatal" => 0, "Test::More" => "1.001002", "lib" => 0, "namespace::autoclean" => 0 ); unless ( eval { Module::Build->VERSION(0.4004) } ) { delete $module_build_args{test_requires}; $module_build_args{build_requires} = \%fallback_build_requires; } my $build = Module::Build->new(%module_build_args); $build->create_build_script; MooseX-Has-Sugar-0.05070422/t/0000755000175000017500000000000012243071627014052 5ustar kentkentMooseX-Has-Sugar-0.05070422/t/09_saccharin.t0000644000175000017500000000071412243071627016504 0ustar kentkentuse strict; use warnings; use Test::More; use lib "t/lib"; use T9Saccharin::TestPackage; is_deeply( T9Saccharin::TestPackage->Alpha->{orig}, T9Saccharin::TestPackage->Alpha->{mx}, 'Basic Use Case', ); is_deeply( T9Saccharin::TestPackage->Beta->{orig}, T9Saccharin::TestPackage->Beta->{mx}, 'Order Invert', ); is_deeply( T9Saccharin::TestPackage->Gamma->{orig}->{default}->(), T9Saccharin::TestPackage->Gamma->{mx}->{default}->(), 'Subs', ); done_testing; MooseX-Has-Sugar-0.05070422/t/05_is.t0000644000175000017500000000130412243071627015154 0ustar kentkent use strict; use warnings; use Test::More; use Test::Fatal; use lib "t/lib"; use T5Is::TestPackage; sub cr { return T5Is::TestPackage->new(@_); } pass("Syntax Compiles"); for ( {}, { roattr => "v" }, { rwattr => "v" }, { bareattr => 'v' }, ) { isnt( exception { cr( %{$_} ) }, undef, 'Constraints on requirements still work' ); } is( exception { cr( rwattr => 'v', roattr => 'v', bareattr => 'v', ) }, undef, 'Construction still works' ); my $i = cr( rwattr => 'v', roattr => 'v', bareattr => 'v', ); isnt( exception { $i->roattr('x') }, undef, "RO works still" ); is( exception { $i->rwattr('x') }, undef, 'RW works still' ); is( $i->rwattr(), 'x', "RW Works as expected" ); done_testing(); MooseX-Has-Sugar-0.05070422/t/lib/0000755000175000017500000000000012243071627014620 5ustar kentkentMooseX-Has-Sugar-0.05070422/t/lib/T9Saccharin/0000755000175000017500000000000012243071627016730 5ustar kentkentMooseX-Has-Sugar-0.05070422/t/lib/T9Saccharin/TestPackage.pm0000644000175000017500000000111712243071627021461 0ustar kentkentpackage T9Saccharin::TestPackage; # $Id:$ use strict; use warnings; use MooseX::Has::Sugar::Saccharin; use namespace::autoclean; sub Alpha { return { orig => { 'isa' => 'Str', 'required' => 1, 'is' => 'rw' }, mx => { required rw 'Str' }, }; } sub Beta { return { orig => { 'isa' => 'Str', 'required' => 1, 'is' => 'rw' }, mx => { rw 'Str', required }, }; } sub Gamma { return { orig => { 'isa' => 'Str', 'is' => 'rw', default => sub { return 1; } }, mx => { rw 'Str', default { 1 } }, }; } 1; MooseX-Has-Sugar-0.05070422/t/lib/T7AttrLazyBuild/0000755000175000017500000000000012243071627017565 5ustar kentkentMooseX-Has-Sugar-0.05070422/t/lib/T7AttrLazyBuild/TestPackage.pm0000644000175000017500000000055612243071627022324 0ustar kentkentpackage T7AttrLazyBuild::TestPackage; # $Id:$ use strict; use warnings; use Moose; use namespace::autoclean; use MooseX::Has::Sugar; has roattr => ( isa => 'Str', is => 'ro', lazy_build, ); has rwattr => ( isa => 'Str', is => 'rw', lazy_build, ); sub _build_rwattr { return 'y'; } sub _build_roattr { return 'y'; } __PACKAGE__->meta->make_immutable; 1; MooseX-Has-Sugar-0.05070422/t/lib/T8Saccharin/0000755000175000017500000000000012243071627016727 5ustar kentkentMooseX-Has-Sugar-0.05070422/t/lib/T8Saccharin/TestPackage.pm0000644000175000017500000000051112243071627021455 0ustar kentkentpackage T8Saccharin::TestPackage; # $Id:$ use strict; use warnings; use Moose; use namespace::autoclean; use MooseX::Has::Sugar::Saccharin; has roattr => lazy_build ro 'Str'; has rwattr => lazy_build rw 'Str'; sub _build_rwattr { return 'y'; } sub _build_roattr { return 'y'; } __PACKAGE__->meta->make_immutable; 1; MooseX-Has-Sugar-0.05070422/t/lib/T6AttrRequired/0000755000175000017500000000000012243071627017445 5ustar kentkentMooseX-Has-Sugar-0.05070422/t/lib/T6AttrRequired/TestPackage.pm0000644000175000017500000000053312243071627022177 0ustar kentkentpackage T6AttrRequired::TestPackage; # $Id:$ use strict; use warnings; use Moose; use namespace::autoclean; use MooseX::Has::Sugar; has roattr => ( isa => 'Str', is => 'ro', required, ); has rwattr => ( isa => 'Str', is => 'rw', required, ); has bareattr => ( isa => 'Str', is => 'bare', required, ); __PACKAGE__->meta->make_immutable; 1; MooseX-Has-Sugar-0.05070422/t/lib/T10Saccharin/0000755000175000017500000000000012243071627017000 5ustar kentkentMooseX-Has-Sugar-0.05070422/t/lib/T10Saccharin/TestPackage.pm0000644000175000017500000000043512243071627021533 0ustar kentkentpackage T10Saccharin::TestPackage; # $Id:$ use strict; use warnings; use Moose; use namespace::autoclean; use MooseX::Has::Sugar::Saccharin; use MooseX::Types::Moose qw( :all ); has roattr => required ro Str; has rwattr => required rw Str; __PACKAGE__->meta->make_immutable; 1; MooseX-Has-Sugar-0.05070422/t/lib/T5Is/0000755000175000017500000000000012243071627015404 5ustar kentkentMooseX-Has-Sugar-0.05070422/t/lib/T5Is/TestPackage.pm0000644000175000017500000000054312243071627020137 0ustar kentkentpackage T5Is::TestPackage; # $Id:$ use strict; use warnings; use Moose; use namespace::autoclean; use MooseX::Has::Sugar::Minimal; has roattr => ( isa => 'Str', is => ro, required => 1, ); has rwattr => ( isa => 'Str', is => rw, required => 1, ); has bareattr => ( isa => 'Str', is => bare, required => 1, ); __PACKAGE__->meta->make_immutable; 1; MooseX-Has-Sugar-0.05070422/t/lib/T4Values/0000755000175000017500000000000012243071627016267 5ustar kentkentMooseX-Has-Sugar-0.05070422/t/lib/T4Values/TestCant.pm0000644000175000017500000000203212243071627020347 0ustar kentkentpackage T4Values::TestCant; # $Id:$ use strict; use warnings; use Test::More (); use Sub::Exporter (); use namespace::autoclean; Sub::Exporter::setup_exporter( { exports => ['can_unok'], groups => { default => ['can_unok'] }, } ); # Sniped from Test::More; sub can_unok($@) { my ( $proto, @methods ) = @_; my $class = ref $proto || $proto; my $tb = Test::More->builder; unless ($class) { my $ok = $tb->ok( 0, "! ->can(...)" ); $tb->diag(' can_unok() called with empty class or reference'); return $ok; } unless (@methods) { my $ok = $tb->ok( 0, "$class->can(...)" ); $tb->diag(' can_unok() called with no methods'); return $ok; } my @nok = (); foreach my $method (@methods) { local ( $!, $@ ); eval { !$proto->can($method) } or push @nok, $method; } my $name = ( @methods == 1 ) ? "!$class->can('$methods[0]')" : "!$class->can(...)"; my $ok = $tb->ok( !@nok, $name ); $tb->diag( map " !$class->can('$_') failed\n", @nok ); return $ok; } 1; MooseX-Has-Sugar-0.05070422/t/lib/T4Values/CDeclareRo.pm0000644000175000017500000000032012243071627020563 0ustar kentkentpackage T4Values::CDeclareRo; # $Id:$ use strict; use warnings; use MooseX::Has::Sugar; use namespace::autoclean; sub generated { { isa => 'Str', ro, } } sub manual { { isa => 'Str', is => 'ro', } } 1; MooseX-Has-Sugar-0.05070422/t/lib/T4Values/EMixed.pm0000644000175000017500000000074512243071627020006 0ustar kentkentpackage T4Values::EMixed; # $Id:$ use strict; use warnings; use MooseX::Has::Sugar::Minimal; use MooseX::Has::Sugar qw( :attrs ); use namespace::autoclean; sub generated { { isa => 'Str', is => ro, required, lazy, lazy_build, coerce, weak_ref, auto_deref }; } sub manual { { isa => 'Str', is => 'ro', required => 1, lazy => 1, lazy_build => 1, coerce => 1, weak_ref => 1, auto_deref => 1, }; } 1; MooseX-Has-Sugar-0.05070422/t/lib/T4Values/AMinimal.pm0000644000175000017500000000066212243071627020320 0ustar kentkentpackage T4Values::AMinimal; # $Id:$ use strict; use warnings; use MooseX::Has::Sugar::Minimal; use namespace::autoclean; sub ro_generated { { isa => 'Str', is => ro, } } sub ro_manual { { isa => 'Str', is => 'ro', } } sub rw_generated { { isa => 'Str', is => rw, } } sub rw_manual { { isa => 'Str', is => 'rw', } } sub bare_generated { { isa => 'Str', is => bare, } } sub bare_manual { { isa => 'Str', is => 'bare', } } 1; MooseX-Has-Sugar-0.05070422/t/lib/T4Values/DEverything.pm0000644000175000017500000000066112243071627021060 0ustar kentkentpackage T4Values::DEverything; # $Id:$ use strict; use warnings; use MooseX::Has::Sugar; use namespace::autoclean; sub generated { { isa => 'Str', ro, required, lazy, lazy_build, coerce, weak_ref, auto_deref }; } sub manual { { isa => 'Str', is => 'ro', required => 1, lazy => 1, lazy_build => 1, coerce => 1, weak_ref => 1, auto_deref => 1, }; } 1; MooseX-Has-Sugar-0.05070422/t/lib/T4Values/BDeclare.pm0000644000175000017500000000055512243071627020273 0ustar kentkentpackage T4Values::BDeclare; # $Id:$ use strict; use warnings; use MooseX::Has::Sugar; use namespace::autoclean; sub generated { { isa => 'Str', is => 'ro', required, lazy, lazy_build, coerce, weak_ref, auto_deref }; } sub manual { { isa => 'Str', is => 'ro', required => 1, lazy => 1, lazy_build => 1, coerce => 1, weak_ref => 1, auto_deref => 1, }; } 1; MooseX-Has-Sugar-0.05070422/t/04_values.t0000644000175000017500000000262712243071627016050 0ustar kentkentuse strict; use warnings; use Test::More; use lib "t/lib"; use T4Values::TestCant; use T4Values::AMinimal; is_deeply( T4Values::AMinimal->ro_generated, T4Values::AMinimal->ro_manual, 'Simple Expansion ro' ); is_deeply( T4Values::AMinimal->rw_generated, T4Values::AMinimal->rw_manual, 'Simple Expansion rw' ); is_deeply( T4Values::AMinimal->bare_generated, T4Values::AMinimal->bare_manual, 'Simple Expansion bare' ); can_unok( 'T4Values::AMinimal', qw( ro rw required lazy lazy_build coerce weak_ref auto_deref ) ); use T4Values::BDeclare; is_deeply( T4Values::BDeclare->generated, T4Values::BDeclare->manual, 'Attr Expansion' ); can_unok( 'T4Values::BDeclare', qw( ro rw required lazy lazy_build coerce weak_ref auto_deref ) ); use T4Values::CDeclareRo; is_deeply( T4Values::CDeclareRo->generated, T4Values::CDeclareRo->manual, 'is Attr Expansion' ); can_unok( 'T4Values::CDeclareRo', qw( ro rw required lazy lazy_build coerce weak_ref auto_deref ) ); use T4Values::DEverything; is_deeply( T4Values::DEverything->generated, T4Values::DEverything->manual, 'All Attr Expansion' ); can_unok( 'T4Values::DEverything', qw( ro rw required lazy lazy_build coerce weak_ref auto_deref ) ); use T4Values::EMixed; is_deeply( T4Values::EMixed->generated, T4Values::EMixed->manual, 'Mixed Attr Expansion' ); can_unok( 'T4Values::EMixed', qw( ro rw required lazy lazy_build coerce weak_ref auto_deref ) ); done_testing; MooseX-Has-Sugar-0.05070422/t/00-compile/0000755000175000017500000000000012243071627015717 5ustar kentkentMooseX-Has-Sugar-0.05070422/t/00-compile/lib_MooseX_Has_Sugar_Saccharin_pm.t0000644000175000017500000000050312243071627024545 0ustar kentkentuse strict; use warnings; # This test was generated for # using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001 # with template 01-basic.t.tpl use Test::More 0.89 tests => 1; require_ok("lib/MooseX/Has/Sugar/Saccharin.pm"); MooseX-Has-Sugar-0.05070422/t/00-compile/lib_MooseX_Has_Sugar_pm.t0000644000175000017500000000045712243071627022602 0ustar kentkentuse strict; use warnings; # This test was generated for # using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001 # with template 01-basic.t.tpl use Test::More 0.89 tests => 1; require_ok("lib/MooseX/Has/Sugar.pm"); MooseX-Has-Sugar-0.05070422/t/00-compile/lib_MooseX_Has_Sugar_Minimal_pm.t0000644000175000017500000000047712243071627024252 0ustar kentkentuse strict; use warnings; # This test was generated for # using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001 # with template 01-basic.t.tpl use Test::More 0.89 tests => 1; require_ok("lib/MooseX/Has/Sugar/Minimal.pm"); MooseX-Has-Sugar-0.05070422/t/10_saccharin.t0000644000175000017500000000103312243071627016467 0ustar kentkent use strict; use warnings; use Test::More; use Test::Fatal; use lib "t/lib"; use T10Saccharin::TestPackage; sub cr { return T10Saccharin::TestPackage->new( roattr => 'y', rwattr => 'y' ); } pass("Syntax Compiles"); is( exception { cr() }, undef, 'Construction still works' ); my $i = cr(); is( $i->roattr, 'y', 'Correctly initialized' ); isnt( exception { $i->roattr('x') }, undef, "RO works still" ); is( exception { $i->rwattr('x') }, undef, 'RW works still' ); is( $i->rwattr(), 'x', "RW Works as expected" ); done_testing; MooseX-Has-Sugar-0.05070422/t/07_attr_lazy_build.t0000644000175000017500000000107312243071627017736 0ustar kentkent use strict; use warnings; use Test::More; use Test::Fatal; use lib "t/lib"; use T7AttrLazyBuild::TestPackage; sub cr { return T7AttrLazyBuild::TestPackage->new(); } pass("Syntax Compiles"); is( exception { cr() }, undef, 'Construction still works' ); my $i = cr(); is( $i->roattr, 'y', 'Builders Still Trigger 1' ); is( $i->rwattr, 'y', 'Builders Still Trigger 2' ); isnt( exception { $i->roattr('x') }, undef, "RO works still" ); is( exception { $i->rwattr('x') }, undef, 'RW works still' ); is( $i->rwattr(), 'x', "RW Works as expected" ); done_testing; MooseX-Has-Sugar-0.05070422/t/06_attr_required.t0000644000175000017500000000132112243071627017413 0ustar kentkent use strict; use warnings; use Test::More; use Test::Fatal; use lib "t/lib"; use T6AttrRequired::TestPackage; pass("Syntax Compiles"); sub cr { return T6AttrRequired::TestPackage->new(@_) } for ( {}, { roattr => "v" }, { rwattr => "v" }, { bareattr => 'v' } ) { isnt( exception { cr( %{$_} ) }, undef, 'Constraints on requirements still work' ); } is( exception { cr( rwattr => 'v', roattr => 'v', bareattr => 'v', ) }, undef, 'Construction still works' ); my $i = cr( rwattr => 'v', roattr => 'v', bareattr => 'v', ); isnt( exception { $i->roattr('x') }, undef, "RO works still" ); is( exception { $i->rwattr('x') }, undef, 'RW works still' ); is( $i->rwattr(), 'x', "RW Works as expected" ); done_testing; MooseX-Has-Sugar-0.05070422/t/000-report-versions-tiny.t0000644000175000017500000000456212243071627020705 0ustar kentkentuse strict; use warnings; use Test::More 0.88; # This is a relatively nice way to avoid Test::NoWarnings breaking our # expectations by adding extra tests, without using no_plan. It also helps # avoid any other test module that feels introducing random tests, or even # test plans, is a nice idea. our $success = 0; END { $success && done_testing; } # List our own version used to generate this my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.10\n"; eval { # no excuses! # report our Perl details my $want = '5.006'; $v .= "perl: $] (wanted $want) on $^O from $^X\n\n"; }; defined($@) and diag("$@"); # Now, our module version dependencies: sub pmver { my ($module, $wanted) = @_; $wanted = " (want $wanted)"; my $pmver; eval "require $module;"; if ($@) { if ($@ =~ m/Can't locate .* in \@INC/) { $pmver = 'module not found.'; } else { diag("${module}: $@"); $pmver = 'died during require.'; } } else { my $version; eval { $version = $module->VERSION; }; if ($@) { diag("${module}: $@"); $pmver = 'died during VERSION check.'; } elsif (defined $version) { $pmver = "$version"; } else { $pmver = ''; } } # So, we should be good, right? return sprintf('%-45s => %-10s%-15s%s', $module, $pmver, $wanted, "\n"); } eval { $v .= pmver('Carp','any version') }; eval { $v .= pmver('Module::Build','0.4202') }; eval { $v .= pmver('Moose','any version') }; eval { $v .= pmver('MooseX::Types::Moose','any version') }; eval { $v .= pmver('Sub::Exporter','any version') }; eval { $v .= pmver('Test::Fatal','any version') }; eval { $v .= pmver('Test::More','1.001002') }; eval { $v .= pmver('lib','any version') }; eval { $v .= pmver('namespace::autoclean','any version') }; eval { $v .= pmver('strict','any version') }; eval { $v .= pmver('warnings','any version') }; # All done. $v .= <<'EOT'; Thanks for using my code. I hope it works for you. If not, please try and include this output in the bug report. That will help me reproduce the issue and solve your problem. EOT diag($v); ok(1, "we really didn't test anything, just reporting data"); $success = 1; # Work around another nasty module on CPAN. :/ no warnings 'once'; $Template::Test::NO_FLUSH = 1; exit 0; MooseX-Has-Sugar-0.05070422/t/08_saccharin.t0000644000175000017500000000106212243071627016500 0ustar kentkent use strict; use warnings; use Test::More; use Test::Fatal; use lib "t/lib"; use T8Saccharin::TestPackage; sub cr { return T8Saccharin::TestPackage->new(); } pass("Syntax Compiles"); is( exception { cr() }, undef, 'Construction still works' ); my $i = cr(); is( $i->roattr, 'y', 'Builders Still Trigger 1' ); is( $i->rwattr, 'y', 'Builders Still Trigger 2' ); isnt( exception { $i->roattr('x') }, undef, "RO works still" ); is( exception { $i->rwattr('x') }, undef, 'RW works still' ); is( $i->rwattr(), 'x', "RW Works as expected" ); done_testing; MooseX-Has-Sugar-0.05070422/.travis.yml0000644000175000017500000000201112243071627015712 0ustar kentkentlanguage: perl matrix: include: - perl: "5.8" env: STERILIZE_ENV=0 - perl: "5.10" env: STERILIZE_ENV=0 - perl: "5.12" env: STERILIZE_ENV=0 - perl: "5.14" env: STERILIZE_ENV=0 - perl: "5.16" env: STERILIZE_ENV=0 - perl: "5.18" env: STERILIZE_ENV=0 - perl: "5.19" env: STERILIZE_ENV=0 - perl: "5.8" env: STERILIZE_ENV=1 - perl: "5.10" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=0 DEVELOPER_DEPS=1 - perl: "5.19" env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1 before_install: - perlbrew list - time perl ./maint-travis-ci/sterilize_env.pl install: - time perl ./maint-travis-ci/install_deps.pl before_script: - time perl ./maint-travis-ci/before_script.pl script: - time perl ./maint-travis-ci/script.pl after_failure: - perl ./maint-travis-ci/report_fail_ctx.pl branches: only: - "master" - "build/master" - "releases" MooseX-Has-Sugar-0.05070422/README0000644000175000017500000001234412243071627014473 0ustar kentkentNAME MooseX::Has::Sugar - Sugar Syntax for moose 'has' fields VERSION version 0.05070422 SYNOPSIS Moose "has" syntax is generally fine, but sometimes one gets bothered with the constant typing of string quotes for things. The MooseX::Types module exists and in many ways reduces the need for constant string creation. Primary Benefits at a Glance Reduced Typing in "has" declarations. The constant need to type "=>" and '' is fine for one-off cases, but the instant you have more than about 4 attributes it starts to get annoying. More compact declarations. Reduces much of the redundant typing in most cases, which makes your life easier, and makes it take up less visual space, which makes it faster to read. No String Worries Strings are often problematic, due to white-space etc. Noted that if you do happen to mess them up, Moose should at *least* warn you that you've done something daft. Using this alleviates that worry. Before this Module. Classical Moose has foo => ( isa => 'Str', is => 'ro', required => 1, ); has bar => ( isa => 'Str', is => 'rw' lazy_build => 1, ); Lazy Evil way to do it: PLEASE DO NOT DO THIS has qw( foo isa Str is ro required 1 ); has qw( bar isa Str is rw lazy_build 1 ); With this module ( and with MooseX::Types ) use MooseX::Types::Moose qw( Str ); use MooseX::Has::Sugar; has foo => ( isa => Str, ro, required, ); has bar => ( isa => Str, rw, lazy_build, ); Or even use MooseX::Types::Moose qw( Str ); use MooseX::Has::Sugar; has foo => ( isa => Str, ro, required, ); has bar => ( isa => Str, rw, lazy_build, ); Alternative Forms Basic "is" Expansion Only ( using ::Sugar::Minimal instead ) use MooseX::Types::Moose qw( Str ); use MooseX::Has::Sugar::Minimal; has foo => ( isa => Str, is => ro, required => 1, ); has bar => ( isa => Str, is => rw, lazy_build => 1, ); Attribute Expansions with Basic Expansions ( Combining parts of this and ::Sugar::Minimal ) use MooseX::Types::Moose qw( Str ); use MooseX::Has::Sugar::Minimal; use MooseX::Has::Sugar qw( :attrs ); has foo => ( isa => Str, is => ro, required, ); has bar => ( isa => Str, is => rw, lazy_build, ); EXPORT GROUPS ":default" Since 0.0300, this exports all our syntax, the same as ":attrs" ":isattrs". Primarily because I found you generally want all the sugar, not just part of it. This also gets rid of that nasty exclusion logic. ":isattrs" This exports "ro", "rw" and "bare" as lists, so they behave as stand-alone attributes like "lazy" does. has foo => ( required, isa => 'Str', ro, ); NOTE: This option is incompatible with ::Sugar::Minimal : "CONFLICTS" ":attrs" This exports "lazy" , "lazy_build" and "required", "coerce", "weak_ref" and "auto_deref" as subs that assume positive. has foo => ( required, isa => 'Str', ); NOTE: This option is incompatible with MooseX::Types and Moose's Type Constraints Module : "CONFLICTS" ":is" DEPRECATED. See ::Sugar::Minimal for the same functionality ":allattrs" DEPRECATED, just use ":default" or do use MooseX::Has::Sugar; EXPORTED FUNCTIONS "bare" returns "('is','bare')" "ro" returns "('is','ro')" "rw" returns "('is','rw')" "required" returns "('required',1)" "lazy" returns "('lazy',1)" "lazy_build" returns "('lazy_build',1)" "weak_ref" returns "('weak_ref',1)" "coerce" returns "('coerce',1)" WARNING: Conflict with MooseX::Types and Moose::Util::TypeConstraints, see "CONFLICTS". "auto_deref" returns "('auto_deref',1)" CONFLICTS MooseX::Has::Sugar::Minimal MooseX::Has::Sugar::Saccharin This module is not intended to be used in conjunction with ::Sugar::Minimal or ::Sugar::Saccharin We export many of the same symbols and its just not very sensible. MooseX::Types Moose::Util::TypeConstraints due to exporting the "coerce" symbol, using us in the same scope as a call to use MooseX::Types .... or use Moose::Util::TypeConstraints will result in a symbol collision. We recommend using and creating proper type libraries instead, ( which will absolve you entirely of the need to use MooseX::Types and MooseX::Has::Sugar(::*)? in the same scope ) AUTHOR Kent Fredric COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. MooseX-Has-Sugar-0.05070422/META.yml0000644000175000017500000003422512243071627015066 0ustar kentkent--- abstract: "Sugar Syntax for moose 'has' fields" author: - 'Kent Fredric ' build_requires: Module::Build: 0.4202 Moose: 0 MooseX::Types::Moose: 0 Test::Fatal: 0 Test::More: 1.001002 lib: 0 namespace::autoclean: 0 configure_requires: Module::Build: 0.4202 dynamic_config: 0 generated_by: 'Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: MooseX-Has-Sugar provides: MooseX::Has::Sugar: file: lib/MooseX/Has/Sugar.pm version: 0.05070422 MooseX::Has::Sugar::Minimal: file: lib/MooseX/Has/Sugar/Minimal.pm version: 0.05070422 MooseX::Has::Sugar::Saccharin: file: lib/MooseX/Has/Sugar/Saccharin.pm version: 0.05070422 requires: Carp: 0 Sub::Exporter: 0 perl: 5.006 strict: 0 warnings: 0 resources: bugtracker: https://github.com/kentfredric/MooseX-Has-Sugar/issues homepage: https://github.com/kentfredric/MooseX-Has-Sugar repository: https://github.com/kentfredric/MooseX-Has-Sugar.git version: 0.05070422 x_BuiltWith: modules: Carp: 1.32 Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl: 2.002001 Dist::Zilla::Plugin::Authority: 1.006 Dist::Zilla::Plugin::AutoPrereqs: 5.006 Dist::Zilla::Plugin::CheckExtraTests: 0.016 Dist::Zilla::Plugin::ConfirmRelease: 5.006 Dist::Zilla::Plugin::EOLTests: 0.02 Dist::Zilla::Plugin::Git::Check: 2.017 Dist::Zilla::Plugin::Git::Commit: 2.017 Dist::Zilla::Plugin::Git::CommitBuild: 2.017 Dist::Zilla::Plugin::Git::GatherDir: 2.017 Dist::Zilla::Plugin::Git::NextVersion: 2.017 Dist::Zilla::Plugin::Git::Tag: 2.017 Dist::Zilla::Plugin::GithubMeta: 0.42 Dist::Zilla::Plugin::License: 5.006 Dist::Zilla::Plugin::Manifest: 5.006 Dist::Zilla::Plugin::ManifestSkip: 5.006 Dist::Zilla::Plugin::MetaConfig: 5.006 Dist::Zilla::Plugin::MetaData::BuiltWith: 0.04000000 Dist::Zilla::Plugin::MetaJSON: 5.006 Dist::Zilla::Plugin::MetaProvides::Package: 1.15000000 Dist::Zilla::Plugin::MetaTests: 5.006 Dist::Zilla::Plugin::MetaYAML: 5.006 Dist::Zilla::Plugin::ModuleBuild: 5.006 Dist::Zilla::Plugin::NextRelease: 5.006 Dist::Zilla::Plugin::PkgVersion: 5.006 Dist::Zilla::Plugin::PodCoverageTests: 5.006 Dist::Zilla::Plugin::PodSyntaxTests: 5.006 Dist::Zilla::Plugin::PodWeaver: 4.002 Dist::Zilla::Plugin::Prereqs: 5.006 Dist::Zilla::Plugin::Prereqs::MatchInstalled: 0.1.4 Dist::Zilla::Plugin::PruneCruft: 5.006 Dist::Zilla::Plugin::ReadmeAnyFromPod: 0.133060 Dist::Zilla::Plugin::ReadmeFromPod: 0.21 Dist::Zilla::Plugin::ReportVersions::Tiny: 1.10 Dist::Zilla::Plugin::Test::CPAN::Changes: 0.008 Dist::Zilla::Plugin::Test::Compile::PerFile: 0.001001 Dist::Zilla::Plugin::Test::Kwalitee: 2.07 Dist::Zilla::Plugin::Test::MinimumVersion: 2.000005 Dist::Zilla::Plugin::Test::Perl::Critic: 2.112410 Dist::Zilla::Plugin::TestRelease: 5.006 Dist::Zilla::Plugin::Twitter: 0.023 Dist::Zilla::Plugin::UploadToCPAN: 5.006 Dist::Zilla::PluginBundle::Author::KENTNL: 2.002001 Dist::Zilla::PluginBundle::Author::KENTNL::Lite: 1.7.2 Module::Build: 0.4202 Moose: 2.1106 MooseX::Types::Moose: 0.38 Pod::Coverage::TrustPod: 0.100003 Sub::Exporter: 0.987 Test::CPAN::Changes: 0.25 Test::CPAN::Meta: 0.23 Test::Fatal: 0.013 Test::Kwalitee: 1.17 Test::More: 1.001002 Test::Pod: 1.48 Test::Pod::Coverage: 1.08 lib: 0.63 namespace::autoclean: 0.14 strict: 1.08 version: 0.9904 warnings: 1.20 perl: original: v5.19.5 qv: 1 version: - 5 - 19 - 5 perl-config: gccversion: 4.7.3 myarchname: x86_64-linux osname: linux platform: linux uname: 'Linux 3.12.0-gentoo x86_64 GenuineIntel GNU/Linux' x_Dist_Zilla: perl: version: 5.019005 plugins: - class: Dist::Zilla::Plugin::Git::NextVersion name: '@Author::KENTNL/Git::NextVersion' version: 2.017 - class: Dist::Zilla::Plugin::MetaConfig name: '@Author::KENTNL/MetaConfig' version: 5.006 - class: Dist::Zilla::Plugin::GithubMeta name: '@Author::KENTNL/GithubMeta' version: 0.42 - class: Dist::Zilla::Plugin::FinderCode name: '@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM' version: 5.006 - class: Dist::Zilla::Plugin::MetaProvides::Package config: Dist::Zilla::Plugin::MetaProvides::Package: {} Dist::Zilla::Role::MetaProvider::Provider: inherit_missing: 1 inherit_version: 1 meta_noindex: 1 name: '@Author::KENTNL/MetaProvides::Package' version: 1.15000000 - class: Dist::Zilla::Plugin::MetaData::BuiltWith config: Dist::Zilla::Plugin::MetaData::BuiltWith: _stash_key: x_BuiltWith show_config: 1 show_uname: 1 uname: uname_args: - '-s' - '-o' - '-r' - '-m' - '-i' uname_call: uname name: '@Author::KENTNL/MetaData::BuiltWith' version: 0.04000000 - class: Dist::Zilla::Plugin::Git::GatherDir name: '@Author::KENTNL/Git::GatherDir' version: 2.017 - class: Dist::Zilla::Plugin::License name: '@Author::KENTNL/License' version: 5.006 - class: Dist::Zilla::Plugin::MetaJSON name: '@Author::KENTNL/MetaJSON' version: 5.006 - class: Dist::Zilla::Plugin::MetaYAML name: '@Author::KENTNL/MetaYAML' version: 5.006 - class: Dist::Zilla::Plugin::Manifest name: '@Author::KENTNL/Manifest' version: 5.006 - class: Dist::Zilla::Plugin::MetaTests name: '@Author::KENTNL/MetaTests' version: 5.006 - class: Dist::Zilla::Plugin::PodCoverageTests name: '@Author::KENTNL/PodCoverageTests' version: 5.006 - class: Dist::Zilla::Plugin::PodSyntaxTests name: '@Author::KENTNL/PodSyntaxTests' version: 5.006 - class: Dist::Zilla::Plugin::ReportVersions::Tiny name: '@Author::KENTNL/ReportVersions::Tiny' version: 1.10 - class: Dist::Zilla::Plugin::Test::Kwalitee name: '@Author::KENTNL/Test::Kwalitee' version: 2.07 - class: Dist::Zilla::Plugin::EOLTests name: '@Author::KENTNL/EOLTests' version: 0.02 - class: Dist::Zilla::Plugin::Test::MinimumVersion name: '@Author::KENTNL/Test::MinimumVersion' version: 2.000005 - class: Dist::Zilla::Plugin::FinderCode name: '@Author::KENTNL/Test::Compile::PerFile/AUTOVIV/:InstallModulesPM' version: 5.006 - class: Dist::Zilla::Plugin::Test::Compile::PerFile config: Dist::Zilla::Plugin::Test::Compile::PerFile: file: - lib/MooseX/Has/Sugar.pm - lib/MooseX/Has/Sugar/Minimal.pm - lib/MooseX/Has/Sugar/Saccharin.pm path_translator: base64_filter prefix: t/00-compile skip: [] test_template: 01-basic.t.tpl xt_mode: ~ name: '@Author::KENTNL/Test::Compile::PerFile' version: 0.001001 - class: Dist::Zilla::Plugin::Test::Perl::Critic name: '@Author::KENTNL/Test::Perl::Critic' version: 2.112410 - class: Dist::Zilla::Plugin::PruneCruft name: '@Author::KENTNL/PruneCruft' version: 5.006 - class: Dist::Zilla::Plugin::ManifestSkip name: '@Author::KENTNL/ManifestSkip' version: 5.006 - class: Dist::Zilla::Plugin::PkgVersion name: '@Author::KENTNL/PkgVersion' version: 5.006 - class: Dist::Zilla::Plugin::PodWeaver config: Dist::Zilla::Plugin::PodWeaver: finder: - ':InstallModules' - ':ExecFiles' plugins: - class: Pod::Weaver::Plugin::EnsurePod5 name: '@CorePrep/EnsurePod5' version: 4.004 - class: Pod::Weaver::Plugin::H1Nester name: '@CorePrep/H1Nester' version: 4.004 - class: Pod::Weaver::Plugin::SingleEncoding name: '-SingleEncoding' version: 4.004 - class: Pod::Weaver::Section::Name name: Name version: 4.004 - class: Pod::Weaver::Section::Version name: Version version: 4.004 - class: Pod::Weaver::Section::Region name: prelude version: 4.004 - class: Pod::Weaver::Section::Generic name: SYNOPSIS version: 4.004 - class: Pod::Weaver::Section::Collect name: EXPORTGROUPS version: 4.004 - class: Pod::Weaver::Section::Collect name: EXPORTFUNCTIONS version: 4.004 - class: Pod::Weaver::Section::Leftovers name: Leftovers version: 4.004 - class: Pod::Weaver::Section::Region name: postlude version: 4.004 - class: Pod::Weaver::Section::Authors name: Authors version: 4.004 - class: Pod::Weaver::Section::Legal name: Legal version: 4.004 name: '@Author::KENTNL/PodWeaver' version: 4.002 - class: Dist::Zilla::Plugin::NextRelease name: '@Author::KENTNL/NextRelease' version: 5.006 - class: Dist::Zilla::Plugin::AutoPrereqs name: '@Author::KENTNL/AutoPrereqs' version: 5.006 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: suggests name: '@Author::KENTNL/Prereqs/BundleDevelSuggests' version: 5.006 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: requires name: '@Author::KENTNL/Prereqs/BundleDevelRequires' version: 5.006 - class: Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl name: '@Author::KENTNL/Author::KENTNL::MinimumPerl' version: 2.002001 - class: Dist::Zilla::Plugin::Authority name: '@Author::KENTNL/Authority' version: 1.006 - class: Dist::Zilla::Plugin::ModuleBuild name: '@Author::KENTNL/ModuleBuild' version: 5.006 - class: Dist::Zilla::Plugin::ReadmeFromPod name: '@Author::KENTNL/ReadmeFromPod' version: 0.21 - class: Dist::Zilla::Plugin::ReadmeAnyFromPod name: '@Author::KENTNL/ReadmeAnyFromPod' version: 0.133060 - class: Dist::Zilla::Plugin::Test::CPAN::Changes name: '@Author::KENTNL/Test::CPAN::Changes' version: 0.008 - class: Dist::Zilla::Plugin::CheckExtraTests name: '@Author::KENTNL/CheckExtraTests' version: 0.016 - class: Dist::Zilla::Plugin::TestRelease name: '@Author::KENTNL/TestRelease' version: 5.006 - class: Dist::Zilla::Plugin::ConfirmRelease name: '@Author::KENTNL/ConfirmRelease' version: 5.006 - class: Dist::Zilla::Plugin::Git::Check name: '@Author::KENTNL/Git::Check' version: 2.017 - class: Dist::Zilla::Plugin::Git::Tag name: '@Author::KENTNL/Git::Tag/tag_master' version: 2.017 - class: Dist::Zilla::Plugin::Git::Commit name: '@Author::KENTNL/Git::Commit' version: 2.017 - class: Dist::Zilla::Plugin::Git::CommitBuild name: '@Author::KENTNL/Git::CommitBuild' version: 2.017 - class: Dist::Zilla::Plugin::Git::Tag name: '@Author::KENTNL/Git::Tag/tag_release' version: 2.017 - class: Dist::Zilla::Plugin::UploadToCPAN name: '@Author::KENTNL/UploadToCPAN' version: 5.006 - class: Dist::Zilla::Plugin::Twitter name: '@Author::KENTNL/Twitter' version: 0.023 - class: Dist::Zilla::Plugin::Prereqs::MatchInstalled config: Dist::Zilla::Plugin::Prereqs::MatchInstalled: applyto: - build.requires - build.recommends - build.suggests - test.requires - test.recommends - test.suggests - runtime.requires - runtime.recommends - runtime.suggests - configure.requires - configure.recommends - configure.suggests - develop.requires - develop.recommends - develop.suggests applyto_phase: - build - test - runtime - configure - develop applyto_relation: - requires - recommends - suggests modules: - Module::Build - Test::More - Dist::Zilla::PluginBundle::Author::KENTNL name: '@Author::KENTNL/Prereqs::MatchInstalled' version: 0.1.4 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: requires name: '@Author::KENTNL/::Role::BundleDeps' version: 5.006 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: runtime type: requires name: Prereqs version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' version: 5.006 zilla: class: Dist::Zilla::Dist::Builder config: is_trial: 0 version: 5.006 x_authority: cpan:KENTNL MooseX-Has-Sugar-0.05070422/perlcritic.rc0000644000175000017500000000130112243071627016270 0ustar kentkentseverity = 1 exclude = RequireTidyCode RequirePodSections ProhibitPostfixControls RequireRcsKeywords RequireExplicitPackage SubroutinePrototypes RequireArgUnpacking RegularExpressions include = Moose::ProhibitMultipleWiths Moose::ProhibitNewMethod Moose::RequireCleanNamespace Moose::RequireMakeImmutable color = 1 verbose = 9 [BuiltinFunctions::ProhibitStringyEval] allow_includes = 1 [CodeLayout::ProhibitTrailingWhitespace] [Documentation::PodSpelling] stop_words = localised [Subroutines::ProhibitUnusedPrivateSubroutines] private_name_regex = _(?!build_)\w [TestingAndDebugging::RequireUseStrict] equivalent_modules = Moose [TestingAndDebugging::RequireUseWarnings] equivalent_modules = Moose MooseX-Has-Sugar-0.05070422/dist.ini0000644000175000017500000000060612243071627015255 0ustar kentkentname = MooseX-Has-Sugar ;version = 0.0405 author = Kent Fredric license = Perl_5 copyright_holder = Kent Fredric [@Author::KENTNL] git_versions = 1 twitter_hash_tags = #perl #cpan ;version_major = 0 ;version_minor = 5 ;version_rel_year = 2009 ;version_rel_month = 5 ;version_rel_day = 15 ;version_rel_hour = 19 ;version_rel_time_zone = Pacific/Auckland [Prereqs] MooseX-Has-Sugar-0.05070422/maint-travis-ci/0000755000175000017500000000000012243071627016616 5ustar kentkentMooseX-Has-Sugar-0.05070422/maint-travis-ci/lib/0000755000175000017500000000000012243071627017364 5ustar kentkentMooseX-Has-Sugar-0.05070422/maint-travis-ci/lib/tools.pm0000644000175000017500000000730212243071627021064 0ustar kentkentuse strict; use warnings; package tools; use Cwd qw(cwd); use Config; sub diag { my $handle = \*STDERR; for (@_) { print {$handle} $_; } print {$handle} "\n"; } sub env_exists { return exists $ENV{ $_[0] }; } sub env_true { return ( env_exists( $_[0] ) and $ENV{ $_[0] } ); } sub env_is { return ( env_exists( $_[0] ) and $ENV{ $_[0] } eq $_[1] ) } sub safe_exec_nonfatal { my ( $command, @params ) = @_; diag("running $command @params"); my $exit = system( $command, @params ); if ( $exit != 0 ) { my $low = $exit & 0b11111111; my $high = $exit >> 8; warn "$command failed: $? $! and exit = $high , flags = $low"; if ( $high != 0 ) { return $high; } else { return 1; } } return 0; } sub safe_exec { my ( $command, @params ) = @_; my $exit_code = safe_exec_nonfatal( $command, @params ); if ( $exit_code != 0 ) { exit $exit_code; } return 1; } sub cpanm { my (@params) = @_; my $exit_code = safe_exec_nonfatal( 'cpanm', @params ); if ( $exit_code != 0 ) { safe_exec( 'tail', '-n', '200', '/home/travis/.cpanm/build.log' ); exit $exit_code; } return 1; } sub git { my (@params) = @_; safe_exec( 'git', @params ); } my $got_fixes; sub get_fixes { return if $got_fixes; my $cwd = cwd(); chdir '/tmp'; safe_exec( 'git', 'clone', 'https://github.com/kentfredric/cpan-fixes.git' ); chdir $cwd; $got_fixes = 1; } my $got_sterile; sub get_sterile { return if $got_sterile; my $cwd = cwd(); chdir '/tmp'; my $version = $]; safe_exec( 'git', 'clone', '--depth=1', '--branch=' . $version, 'https://github.com/kentfredric/perl5-sterile.git', 'perl5-sterile' ); chdir $cwd; $got_sterile = 1; } my $fixed_up; sub fixup_sterile { return if $fixed_up; get_sterile(); my $cwd = cwd(); chdir '/tmp/perl5-sterile'; safe_exec( 'bash', 'patch_fixlist.sh', '/home/travis/perl5/perlbrew/perls/' . $ENV{TRAVIS_PERL_VERSION} ); chdir $cwd; $fixed_up = 1; } my $sterile_deployed; sub deploy_sterile { return if $sterile_deployed; fixup_sterile(); for my $key ( keys %Config ) { next unless $key =~ /(lib|arch)exp$/; my $value = $Config{$key}; next unless defined $value; next unless length $value; my $clean_path = '/tmp/perl5-sterile/' . $key; diag("\e[32m?$clean_path\e[0m"); if ( -e $clean_path and -d $clean_path ) { diag("\e[31mRsyncing over $value\e[0m"); $clean_path =~ s{/?$}{/}; $value =~ s{/?$}{/}; safe_exec( 'rsync', '-a', '--delete-delay', $clean_path, $value ); } } } sub cpanm_fix { my (@params) = @_; get_fixes(); my $cwd = cwd(); chdir '/tmp/cpan-fixes'; cpanm(@params); chdir $cwd; } sub parse_meta_json { $_[0] ||= 'META.json'; require CPAN::Meta; return CPAN::Meta->load_file( $_[0] ); } sub capture_stdout(&) { require Capture::Tiny; goto &Capture::Tiny::capture_stdout; } sub import { my ( $self, @args ) = @_; my $caller = [caller]->[0]; my $caller_stash = do { no strict 'refs'; *{ $caller . '::' }; }; $caller_stash->{diag} = *diag; $caller_stash->{env_exists} = *env_exists; $caller_stash->{env_true} = *env_true; $caller_stash->{env_is} = *env_is; $caller_stash->{safe_exec_nonfatal} = *safe_exec_nonfatal; $caller_stash->{safe_exec} = *safe_exec; $caller_stash->{cpanm} = *cpanm; $caller_stash->{git} = *git; $caller_stash->{get_fixes} = *get_fixes; $caller_stash->{cpanm_fix} = *cpanm_fix; $caller_stash->{parse_meta_json} = *parse_meta_json; $caller_stash->{capture_stdout} = *capture_stdout; $caller_stash->{deploy_sterile} = *deploy_sterile; } 1; MooseX-Has-Sugar-0.05070422/maint-travis-ci/README.mkdn0000644000175000017500000000261712243071627020434 0ustar kentkent# ABOUT This repository contains a directory full of utilities to bolt on to CPAN-targeting distributions, to add useful `travis-ci` features to those dists. # PREREQS All that is needed at present to get started, is a copy of `git` that provides `git subtree`, and a copy of `Path::FindDev` from `CPAN`. You don't need `Path::FindDev` during deployment, its just used to streamline automated patching. # INSTALLING First, check out a copy of these scripts, it can be a temporary directory, and you'll only need to do this once. ```shell $ mkdir /tmp/tci-scripts $ cd /tmp/tci-scripts $ git clone https://github.com/kentfredric/travis-scripts.git ``` Then, chdir to the root of your project ```shell $ chdir $PROJECT ``` And lastly, execute the installer ```shell $ /tmp/tci-scripts/sync_tree.pl ``` This will create the folder called `maint-travis-ci` within your distribution, with a tree installed by `git subtree`, which will track this distribution. To update your copy of `/maint-travis-ci` to the latest, simply execute ```shell $ $PROJECT/maint-travis-ci/sync_tree.pl ``` While somewhere in your project. # CAVEATS Note, this tool uses `Path::FindDev`, and by proxy, `Path::IsDev` to find a development root directory somewhere in the ancestry of `$CWD`. As such, you will likely need to appease `Path::IsDev` by having a file of some description that marks the root of the development tree. MooseX-Has-Sugar-0.05070422/maint-travis-ci/before_script.pl0000644000175000017500000000104512243071627022001 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use FindBin; use lib "$FindBin::Bin/lib"; use tools; if ( not env_exists('STERILIZE_ENV') ) { diag("\e[31mSTERILIZE_ENV \e[32munset\e[0m, skipping"); exit 0; } if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) { diag("before_script skipped, TRAVIS_BRANCH=master"); exit 0; } else { if ( -e './Build.PL' ) { safe_exec( $^X, './Build.PL' ); safe_exec("./Build"); exit 0; } if ( -e './Makefile.PL' ) { safe_exec( $^X, './Makefile.PL' ); safe_exec("make"); exit 0; } } MooseX-Has-Sugar-0.05070422/maint-travis-ci/install_deps.pl0000644000175000017500000000403712243071627021640 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use utf8; use FindBin; use lib "$FindBin::Bin/lib"; use tools; if ( not env_exists('TRAVIS') ) { diag('Is not running under travis!'); exit 1; } if ( not env_exists('STERILIZE_ENV') ) { diag("\e[31STERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target"); exit 0; } if ( env_is( 'TRAVIS_BRANCH', 'master' ) and env_is( 'TRAVIS_PERL_VERSION', '5.8' ) ) { diag("\e[31minstalldeps skipped on 5.8 on master, because \@Git, a dependency of \@Author::KENTNL, is unavailble on 5.8\e[0m"); exit 0; } my (@params) = qw[ --quiet --notest --mirror http://cpan.metacpan.org/ --no-man-pages ]; if ( env_true('DEVELOPER_DEPS') ) { push @params, '--dev'; } if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) { cpanm( @params, 'Dist::Zilla', 'Capture::Tiny', 'Pod::Weaver' ); cpanm( @params, '--dev', 'Dist::Zilla~>5.002', 'Pod::Weaver' ); safe_exec( 'git', 'config', '--global', 'user.email', 'kentfredric+travisci@gmail.com' ); safe_exec( 'git', 'config', '--global', 'user.name', 'Travis CI ( On behalf of Kent Fredric )' ); my $stdout = capture_stdout { safe_exec( 'dzil', 'authordeps', '--missing' ); }; if ( $stdout !~ /^\s*$/msx ) { cpanm( @params, split /\n/, $stdout ); } $stdout = capture_stdout { safe_exec( 'dzil', 'listdeps', '--missing' ); }; if ( $stdout !~ /^\s*$/msx ) { cpanm( @params, split /\n/, $stdout ); } } else { cpanm( @params, '--installdeps', '.' ); if ( env_true('AUTHOR_TESTING') or env_true('RELEASE_TESTING') ) { my $prereqs = parse_meta_json()->effective_prereqs; my $reqs = $prereqs->requirements_for( 'develop', 'requires' ); my @wanted; for my $want ( $reqs->required_modules ) { my $module_requirement = $reqs->requirements_for_module($want); if ( $module_requirement =~ /^\d/ ) { push @wanted, $want . '~>=' . $module_requirement; next; } push @wanted, $want . '~' . $module_requirement; } cpanm( @params, @wanted ); } } exit 0; MooseX-Has-Sugar-0.05070422/maint-travis-ci/sync_tree.pl0000755000175000017500000000107312243071627021152 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use FindBin; use lib "$FindBin::Bin/lib"; use tools; use Path::FindDev qw( find_dev ); my $root = find_dev('./'); chdir "$root"; sub git_subtree { safe_exec( 'git', 'subtree', @_ ); } my $travis = 'https://github.com/kentfredric/travis-scripts.git'; my $prefix = 'maint-travis-ci'; if ( not -d -e $root->child($prefix) ) { git_subtree( 'add', '--prefix=' . $prefix, $travis, 'master' ); } else { git_subtree( 'pull', '-m', 'Synchronise git subtree maint-travis-ci', '--prefix=' . $prefix, $travis, 'master' ); } MooseX-Has-Sugar-0.05070422/maint-travis-ci/yamls/0000755000175000017500000000000012243071627017743 5ustar kentkentMooseX-Has-Sugar-0.05070422/maint-travis-ci/yamls/sterile.yaml0000644000175000017500000000171412243071627022301 0ustar kentkentlanguage: perl matrix: include: - perl: "5.8" env: STERILIZE_ENV=0 - perl: "5.10" env: STERILIZE_ENV=0 - perl: "5.12" env: STERILIZE_ENV=0 - perl: "5.14" env: STERILIZE_ENV=0 - perl: "5.16" env: STERILIZE_ENV=0 - perl: "5.18" env: STERILIZE_ENV=0 - perl: "5.19" env: STERILIZE_ENV=0 - perl: "5.12" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=0 DEVELOPER_DEPS=1 - perl: "5.19" env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1 before_install: - perlbrew list - time perl ./maint-travis-ci/sterilize_env.pl install: - time perl ./maint-travis-ci/install_deps.pl before_script: - time perl ./maint-travis-ci/before_script.pl script: - time perl ./maint-travis-ci/script.pl after_failure: - perl ./maint-travis-ci/report_fail_ctx.pl branches: only: - "build/master" - "releases" MooseX-Has-Sugar-0.05070422/maint-travis-ci/yamls/sterile2.yaml0000644000175000017500000000201112243071627022352 0ustar kentkentlanguage: perl matrix: include: - perl: "5.8" env: STERILIZE_ENV=0 - perl: "5.10" env: STERILIZE_ENV=0 - perl: "5.12" env: STERILIZE_ENV=0 - perl: "5.14" env: STERILIZE_ENV=0 - perl: "5.16" env: STERILIZE_ENV=0 - perl: "5.18" env: STERILIZE_ENV=0 - perl: "5.19" env: STERILIZE_ENV=0 - perl: "5.8" env: STERILIZE_ENV=1 - perl: "5.10" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=0 DEVELOPER_DEPS=1 - perl: "5.19" env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1 before_install: - perlbrew list - time perl ./maint-travis-ci/sterilize_env.pl install: - time perl ./maint-travis-ci/install_deps.pl before_script: - time perl ./maint-travis-ci/before_script.pl script: - time perl ./maint-travis-ci/script.pl after_failure: - perl ./maint-travis-ci/report_fail_ctx.pl branches: only: - "master" - "build/master" - "releases" MooseX-Has-Sugar-0.05070422/maint-travis-ci/yamls/sterile.mkdn0000644000175000017500000000314312243071627022266 0ustar kentkent## ABOUT sterile.yaml ## Tests ### Version conformance tests Every version of Perl that can be tested on travis is tested. - perl: env: STERILIZE_ENV=0 This is to test simply that the code works on that platform ### Installable tests This tests both the maximum and minimum perls on travis to ensure that: a. All dependencies are installable on all versions of Perl b. No dependencies are inherently required by the code which are not specified. - perl: env: STERILIZE_ENV=1 Tree sterilization occurs here to ensure that only the versions of things that are provided by that version of perl exists prior to installing dependencies. ### Pending upstream breakage This tests that of all the listed direct dependencies, that the code works as expected after upgrading to the latest version of all direct dependencies. Presently this only runs on the newest `perl` on travis, because it is seemed that if "-dev" versions are going to be a problem, they'll exhibit the same problems on all perls. Tree sterilization is not performed here, though may be in future, because that will reveal breakages between downstream dependencies. - perl: env: STERILIZE_ENV=0 DEVELOPER_DEPS=1 ### Author Testing This is the most dependency expensive method, as this mode pulls in all dependencies listed in `develop.requires`, and additionally runs `xt/*` This is presently only performed on the latest perl due to the time expensiveness of this, requiring significantly more dependencies to perform tests. - perl: env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1 MooseX-Has-Sugar-0.05070422/maint-travis-ci/sterilize_env.pl0000644000175000017500000000326612243071627022044 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use FindBin; use lib "$FindBin::Bin/lib"; use tools; my $corelists = "$FindBin::Bin/corelist-data"; sub no_sterile_warning { if ( env_is( 'TRAVIS_PERL_VERSION', '5.8' ) or env_is( 'TRAVIS_PERL_VERSION', '5.10' ) ) { diag("\e[31m TREE STERILIZATION IMPOSSIBLE <= 5.10\e[0m"); diag("\e[32m ... because prior to 5.11.*, dual-life installed to \e[33mprivlib\e[0m"); diag("\e[32m ... because prior to 5.11.*, \e[33m\@INC\e[32m order was \e[33mprivlib,sitelib\e[0m"); diag("\e[32m ... whereas after to 5.11.*, \e[33m\@INC\e[32m order is \e[33msitelib,privlib\e[0m"); diag("\e[32m ... and now most dual-life things simply install to \e[33msitelib\e[0m"); diag("\e[34m ( However, there are still a few naughty CPAN modules that install to \e[33mprivlib\e[34m )"); diag( "\e[32m but the net effect of this is that installing \e[33mModule::Build 0.4007\e[32m which pulls \e[33mPerl::OSType\e[0m" ); diag("\e[32m and results in \e[33mPerl::OSType\e[32m being later removed \e[0m"); diag("\e[32m leaving behind a broken \e[33mModule::Build 0.4007\e[32m\e[0m"); diag("\e[34m Set \e[35m MAYBE_BREAK_MODULE_BUILD=1\e[34m if this is ok\e[0m"); exit 0 unless env_true('MAYBE_BREAK_MODULE_BUILD'); diag("\e[35m PROCEEDING\e[0m"); } } if ( not env_exists('STERILIZE_ENV') ) { diag("\e[31STERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target"); exit 0; } if ( not env_true('STERILIZE_ENV') ) { diag('STERILIZE_ENV unset or false, not sterilizing'); exit 0; } if ( not env_true('TRAVIS') ) { diag('Is not running under travis!'); exit 1; } deploy_sterile(); MooseX-Has-Sugar-0.05070422/maint-travis-ci/script.pl0000644000175000017500000000207212243071627020460 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use utf8; use FindBin; use lib "$FindBin::Bin/lib"; use tools; if ( not env_exists('TRAVIS') ) { diag('Is not running under travis!'); exit 1; } if ( not env_exists('STERILIZE_ENV') ) { diag("\e[31mSTERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target"); exit 0; } if ( env_is( 'TRAVIS_BRANCH', 'master' ) and env_is( 'TRAVIS_PERL_VERSION', '5.8' ) ) { diag("\e[31mscript skipped on 5.8 on master\e[32m, because \@Git, a dependency of \@Author::KENTNL, is unavailble on 5.8\e[0m"); exit 0; } if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) { my $xtest = safe_exec_nonfatal( 'dzil', 'xtest' ); my $test = safe_exec_nonfatal( 'dzil', 'test' ); if ( $test != 0 ) { exit $test; } if ( $xtest != 0 ) { exit $xtest; } exit 0; } else { my @paths = './t'; if ( env_true('AUTHOR_TESTING') or env_true('RELEASE_TESTING') ) { push @paths, './xt'; } safe_exec( 'prove', '--blib', '--shuffle', '--color', '--recurse', '--timer', '--jobs', 30, @paths ); } MooseX-Has-Sugar-0.05070422/maint-travis-ci/merge_travis_yml.pl0000644000175000017500000000122012243071627022516 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use utf8; use Path::FindDev qw( find_dev ); my $hashref = {}; my $template = find_dev('./')->child('.travis-template.yml'); my $target = find_dev('./')->child('.travis.yml'); if ( -f -e $template ) { require YAML::Loader; my $loader = YAML::Loader->new(); $hashref = $loader->load( $template->slurp ); } if ( not exists $hashref->{language} ) { $hashref->{language} = 'perl'; } if ( not exists $hashref->{perl} ) { $hashref->{perl} = [ '5.18', '5.19' ]; } use Data::Dump qw(pp); pp($hashref); require YAML::Dumper; my $dumper = YAML::Dumper->new(); $target->spew( $dumper->dump($hashref) ); MooseX-Has-Sugar-0.05070422/maint-travis-ci/report_fail_ctx.pl0000644000175000017500000000035512243071627022342 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use utf8; use FindBin; use lib "$FindBin::Bin/lib"; use tools; diag("\e[31mLast 1000 lines of cpanm build log\e[0m"); safe_exec( 'tail', '-n', '1000', $ENV{HOME} . '/.cpanm/build.log' ); MooseX-Has-Sugar-0.05070422/.perltidyrc0000644000175000017500000000001412243071627015764 0ustar kentkent-i 2 -l 130 MooseX-Has-Sugar-0.05070422/META.json0000644000175000017500000005754612243071627015251 0ustar kentkent{ "abstract" : "Sugar Syntax for moose 'has' fields", "author" : [ "Kent Fredric " ], "dynamic_config" : 0, "generated_by" : "Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : "2" }, "name" : "MooseX-Has-Sugar", "prereqs" : { "build" : { "requires" : { "Module::Build" : "0.4202" } }, "configure" : { "requires" : { "Module::Build" : "0.4202" } }, "develop" : { "requires" : { "Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl" : "0", "Dist::Zilla::Plugin::Authority" : "1.006", "Dist::Zilla::Plugin::AutoPrereqs" : "0", "Dist::Zilla::Plugin::CheckExtraTests" : "0", "Dist::Zilla::Plugin::ConfirmRelease" : "0", "Dist::Zilla::Plugin::EOLTests" : "0", "Dist::Zilla::Plugin::Git::Check" : "0", "Dist::Zilla::Plugin::Git::Commit" : "0", "Dist::Zilla::Plugin::Git::CommitBuild" : "0", "Dist::Zilla::Plugin::Git::GatherDir" : "0", "Dist::Zilla::Plugin::Git::NextVersion" : "0", "Dist::Zilla::Plugin::Git::Tag" : "0", "Dist::Zilla::Plugin::GithubMeta" : "0", "Dist::Zilla::Plugin::License" : "0", "Dist::Zilla::Plugin::Manifest" : "0", "Dist::Zilla::Plugin::ManifestSkip" : "0", "Dist::Zilla::Plugin::MetaConfig" : "0", "Dist::Zilla::Plugin::MetaData::BuiltWith" : "0", "Dist::Zilla::Plugin::MetaJSON" : "0", "Dist::Zilla::Plugin::MetaProvides::Package" : "1.14000001", "Dist::Zilla::Plugin::MetaTests" : "0", "Dist::Zilla::Plugin::MetaYAML" : "0", "Dist::Zilla::Plugin::ModuleBuild" : "0", "Dist::Zilla::Plugin::NextRelease" : "0", "Dist::Zilla::Plugin::PkgVersion" : "0", "Dist::Zilla::Plugin::PodCoverageTests" : "0", "Dist::Zilla::Plugin::PodSyntaxTests" : "0", "Dist::Zilla::Plugin::PodWeaver" : "0", "Dist::Zilla::Plugin::Prereqs" : "0", "Dist::Zilla::Plugin::Prereqs::MatchInstalled" : "0", "Dist::Zilla::Plugin::PruneCruft" : "0", "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0", "Dist::Zilla::Plugin::ReadmeFromPod" : "0", "Dist::Zilla::Plugin::ReportVersions::Tiny" : "0", "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0", "Dist::Zilla::Plugin::Test::Compile::PerFile" : "0", "Dist::Zilla::Plugin::Test::Kwalitee" : "0", "Dist::Zilla::Plugin::Test::MinimumVersion" : "0", "Dist::Zilla::Plugin::Test::Perl::Critic" : "0", "Dist::Zilla::Plugin::TestRelease" : "0", "Dist::Zilla::Plugin::Twitter" : "0", "Dist::Zilla::Plugin::UploadToCPAN" : "0", "Dist::Zilla::PluginBundle::Author::KENTNL" : "2.002001", "Pod::Coverage::TrustPod" : "0", "Test::CPAN::Changes" : "0.19", "Test::CPAN::Meta" : "0", "Test::Kwalitee" : "1.12", "Test::Pod" : "1.41", "Test::Pod::Coverage" : "1.08", "version" : "0.9901" }, "suggests" : { "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "v1.3.0" } }, "runtime" : { "requires" : { "Carp" : "0", "Sub::Exporter" : "0", "perl" : "5.006", "strict" : "0", "warnings" : "0" } }, "test" : { "requires" : { "Moose" : "0", "MooseX::Types::Moose" : "0", "Test::Fatal" : "0", "Test::More" : "1.001002", "lib" : "0", "namespace::autoclean" : "0" } } }, "provides" : { "MooseX::Has::Sugar" : { "file" : "lib/MooseX/Has/Sugar.pm", "version" : "0.05070422" }, "MooseX::Has::Sugar::Minimal" : { "file" : "lib/MooseX/Has/Sugar/Minimal.pm", "version" : "0.05070422" }, "MooseX::Has::Sugar::Saccharin" : { "file" : "lib/MooseX/Has/Sugar/Saccharin.pm", "version" : "0.05070422" } }, "release_status" : "stable", "resources" : { "bugtracker" : { "web" : "https://github.com/kentfredric/MooseX-Has-Sugar/issues" }, "homepage" : "https://github.com/kentfredric/MooseX-Has-Sugar", "repository" : { "type" : "git", "url" : "https://github.com/kentfredric/MooseX-Has-Sugar.git", "web" : "https://github.com/kentfredric/MooseX-Has-Sugar" } }, "version" : "0.05070422", "x_BuiltWith" : { "modules" : { "Carp" : "1.32", "Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl" : "2.002001", "Dist::Zilla::Plugin::Authority" : "1.006", "Dist::Zilla::Plugin::AutoPrereqs" : "5.006", "Dist::Zilla::Plugin::CheckExtraTests" : "0.016", "Dist::Zilla::Plugin::ConfirmRelease" : "5.006", "Dist::Zilla::Plugin::EOLTests" : "0.02", "Dist::Zilla::Plugin::Git::Check" : "2.017", "Dist::Zilla::Plugin::Git::Commit" : "2.017", "Dist::Zilla::Plugin::Git::CommitBuild" : "2.017", "Dist::Zilla::Plugin::Git::GatherDir" : "2.017", "Dist::Zilla::Plugin::Git::NextVersion" : "2.017", "Dist::Zilla::Plugin::Git::Tag" : "2.017", "Dist::Zilla::Plugin::GithubMeta" : "0.42", "Dist::Zilla::Plugin::License" : "5.006", "Dist::Zilla::Plugin::Manifest" : "5.006", "Dist::Zilla::Plugin::ManifestSkip" : "5.006", "Dist::Zilla::Plugin::MetaConfig" : "5.006", "Dist::Zilla::Plugin::MetaData::BuiltWith" : "0.04000000", "Dist::Zilla::Plugin::MetaJSON" : "5.006", "Dist::Zilla::Plugin::MetaProvides::Package" : "1.15000000", "Dist::Zilla::Plugin::MetaTests" : "5.006", "Dist::Zilla::Plugin::MetaYAML" : "5.006", "Dist::Zilla::Plugin::ModuleBuild" : "5.006", "Dist::Zilla::Plugin::NextRelease" : "5.006", "Dist::Zilla::Plugin::PkgVersion" : "5.006", "Dist::Zilla::Plugin::PodCoverageTests" : "5.006", "Dist::Zilla::Plugin::PodSyntaxTests" : "5.006", "Dist::Zilla::Plugin::PodWeaver" : "4.002", "Dist::Zilla::Plugin::Prereqs" : "5.006", "Dist::Zilla::Plugin::Prereqs::MatchInstalled" : "0.1.4", "Dist::Zilla::Plugin::PruneCruft" : "5.006", "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0.133060", "Dist::Zilla::Plugin::ReadmeFromPod" : "0.21", "Dist::Zilla::Plugin::ReportVersions::Tiny" : "1.10", "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0.008", "Dist::Zilla::Plugin::Test::Compile::PerFile" : "0.001001", "Dist::Zilla::Plugin::Test::Kwalitee" : "2.07", "Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000005", "Dist::Zilla::Plugin::Test::Perl::Critic" : "2.112410", "Dist::Zilla::Plugin::TestRelease" : "5.006", "Dist::Zilla::Plugin::Twitter" : "0.023", "Dist::Zilla::Plugin::UploadToCPAN" : "5.006", "Dist::Zilla::PluginBundle::Author::KENTNL" : "2.002001", "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "1.7.2", "Module::Build" : "0.4202", "Moose" : "2.1106", "MooseX::Types::Moose" : "0.38", "Pod::Coverage::TrustPod" : "0.100003", "Sub::Exporter" : "0.987", "Test::CPAN::Changes" : "0.25", "Test::CPAN::Meta" : "0.23", "Test::Fatal" : "0.013", "Test::Kwalitee" : "1.17", "Test::More" : "1.001002", "Test::Pod" : "1.48", "Test::Pod::Coverage" : "1.08", "lib" : "0.63", "namespace::autoclean" : "0.14", "strict" : "1.08", "version" : "0.9904", "warnings" : "1.20" }, "perl" : { "original" : "v5.19.5", "qv" : 1, "version" : [ 5, 19, 5 ] }, "perl-config" : { "gccversion" : "4.7.3", "myarchname" : "x86_64-linux", "osname" : "linux" }, "platform" : "linux", "uname" : "Linux 3.12.0-gentoo x86_64 GenuineIntel GNU/Linux" }, "x_Dist_Zilla" : { "perl" : { "version" : "5.019005" }, "plugins" : [ { "class" : "Dist::Zilla::Plugin::Git::NextVersion", "name" : "@Author::KENTNL/Git::NextVersion", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "@Author::KENTNL/MetaConfig", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::GithubMeta", "name" : "@Author::KENTNL/GithubMeta", "version" : "0.42" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : "@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::MetaProvides::Package", "config" : { "Dist::Zilla::Plugin::MetaProvides::Package" : {}, "Dist::Zilla::Role::MetaProvider::Provider" : { "inherit_missing" : "1", "inherit_version" : "1", "meta_noindex" : "1" } }, "name" : "@Author::KENTNL/MetaProvides::Package", "version" : "1.15000000" }, { "class" : "Dist::Zilla::Plugin::MetaData::BuiltWith", "config" : { "Dist::Zilla::Plugin::MetaData::BuiltWith" : { "_stash_key" : "x_BuiltWith", "show_config" : "1", "show_uname" : "1", "uname" : { "uname_args" : [ "-s", "-o", "-r", "-m", "-i" ], "uname_call" : "uname" } } }, "name" : "@Author::KENTNL/MetaData::BuiltWith", "version" : "0.04000000" }, { "class" : "Dist::Zilla::Plugin::Git::GatherDir", "name" : "@Author::KENTNL/Git::GatherDir", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "@Author::KENTNL/License", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "@Author::KENTNL/MetaJSON", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "@Author::KENTNL/MetaYAML", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Manifest", "name" : "@Author::KENTNL/Manifest", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::MetaTests", "name" : "@Author::KENTNL/MetaTests", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::PodCoverageTests", "name" : "@Author::KENTNL/PodCoverageTests", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "@Author::KENTNL/PodSyntaxTests", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny", "name" : "@Author::KENTNL/ReportVersions::Tiny", "version" : "1.10" }, { "class" : "Dist::Zilla::Plugin::Test::Kwalitee", "name" : "@Author::KENTNL/Test::Kwalitee", "version" : "2.07" }, { "class" : "Dist::Zilla::Plugin::EOLTests", "name" : "@Author::KENTNL/EOLTests", "version" : "0.02" }, { "class" : "Dist::Zilla::Plugin::Test::MinimumVersion", "name" : "@Author::KENTNL/Test::MinimumVersion", "version" : "2.000005" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : "@Author::KENTNL/Test::Compile::PerFile/AUTOVIV/:InstallModulesPM", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Test::Compile::PerFile", "config" : { "Dist::Zilla::Plugin::Test::Compile::PerFile" : { "file" : [ "lib/MooseX/Has/Sugar.pm", "lib/MooseX/Has/Sugar/Minimal.pm", "lib/MooseX/Has/Sugar/Saccharin.pm" ], "path_translator" : "base64_filter", "prefix" : "t/00-compile", "skip" : [], "test_template" : "01-basic.t.tpl", "xt_mode" : null } }, "name" : "@Author::KENTNL/Test::Compile::PerFile", "version" : "0.001001" }, { "class" : "Dist::Zilla::Plugin::Test::Perl::Critic", "name" : "@Author::KENTNL/Test::Perl::Critic", "version" : "2.112410" }, { "class" : "Dist::Zilla::Plugin::PruneCruft", "name" : "@Author::KENTNL/PruneCruft", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::ManifestSkip", "name" : "@Author::KENTNL/ManifestSkip", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::PkgVersion", "name" : "@Author::KENTNL/PkgVersion", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::PodWeaver", "config" : { "Dist::Zilla::Plugin::PodWeaver" : { "finder" : [ ":InstallModules", ":ExecFiles" ], "plugins" : [ { "class" : "Pod::Weaver::Plugin::EnsurePod5", "name" : "@CorePrep/EnsurePod5", "version" : "4.004" }, { "class" : "Pod::Weaver::Plugin::H1Nester", "name" : "@CorePrep/H1Nester", "version" : "4.004" }, { "class" : "Pod::Weaver::Plugin::SingleEncoding", "name" : "-SingleEncoding", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Name", "name" : "Name", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Version", "name" : "Version", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Region", "name" : "prelude", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "SYNOPSIS", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "EXPORTGROUPS", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "EXPORTFUNCTIONS", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Leftovers", "name" : "Leftovers", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Region", "name" : "postlude", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Authors", "name" : "Authors", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Legal", "name" : "Legal", "version" : "4.004" } ] } }, "name" : "@Author::KENTNL/PodWeaver", "version" : "4.002" }, { "class" : "Dist::Zilla::Plugin::NextRelease", "name" : "@Author::KENTNL/NextRelease", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", "name" : "@Author::KENTNL/AutoPrereqs", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "suggests" } }, "name" : "@Author::KENTNL/Prereqs/BundleDevelSuggests", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "requires" } }, "name" : "@Author::KENTNL/Prereqs/BundleDevelRequires", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl", "name" : "@Author::KENTNL/Author::KENTNL::MinimumPerl", "version" : "2.002001" }, { "class" : "Dist::Zilla::Plugin::Authority", "name" : "@Author::KENTNL/Authority", "version" : "1.006" }, { "class" : "Dist::Zilla::Plugin::ModuleBuild", "name" : "@Author::KENTNL/ModuleBuild", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::ReadmeFromPod", "name" : "@Author::KENTNL/ReadmeFromPod", "version" : "0.21" }, { "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod", "name" : "@Author::KENTNL/ReadmeAnyFromPod", "version" : "0.133060" }, { "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes", "name" : "@Author::KENTNL/Test::CPAN::Changes", "version" : "0.008" }, { "class" : "Dist::Zilla::Plugin::CheckExtraTests", "name" : "@Author::KENTNL/CheckExtraTests", "version" : "0.016" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "@Author::KENTNL/TestRelease", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::ConfirmRelease", "name" : "@Author::KENTNL/ConfirmRelease", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Git::Check", "name" : "@Author::KENTNL/Git::Check", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", "name" : "@Author::KENTNL/Git::Tag/tag_master", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", "name" : "@Author::KENTNL/Git::Commit", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::Git::CommitBuild", "name" : "@Author::KENTNL/Git::CommitBuild", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", "name" : "@Author::KENTNL/Git::Tag/tag_release", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "@Author::KENTNL/UploadToCPAN", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Twitter", "name" : "@Author::KENTNL/Twitter", "version" : "0.023" }, { "class" : "Dist::Zilla::Plugin::Prereqs::MatchInstalled", "config" : { "Dist::Zilla::Plugin::Prereqs::MatchInstalled" : { "applyto" : [ "build.requires", "build.recommends", "build.suggests", "test.requires", "test.recommends", "test.suggests", "runtime.requires", "runtime.recommends", "runtime.suggests", "configure.requires", "configure.recommends", "configure.suggests", "develop.requires", "develop.recommends", "develop.suggests" ], "applyto_phase" : [ "build", "test", "runtime", "configure", "develop" ], "applyto_relation" : [ "requires", "recommends", "suggests" ], "modules" : [ "Module::Build", "Test::More", "Dist::Zilla::PluginBundle::Author::KENTNL" ] } }, "name" : "@Author::KENTNL/Prereqs::MatchInstalled", "version" : "0.1.4" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "requires" } }, "name" : "@Author::KENTNL/::Role::BundleDeps", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "runtime", "type" : "requires" } }, "name" : "Prereqs", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", "version" : "5.006" } ], "zilla" : { "class" : "Dist::Zilla::Dist::Builder", "config" : { "is_trial" : "0" }, "version" : "5.006" } }, "x_authority" : "cpan:KENTNL" } MooseX-Has-Sugar-0.05070422/weaver.ini0000644000175000017500000000045612243071627015606 0ustar kentkent[@CorePrep] [-SingleEncoding] [Name] [Version] [Region / prelude] [Generic / SYNOPSIS] [Collect / EXPORTGROUPS] header = EXPORT GROUPS command = export_group [Collect / EXPORTFUNCTIONS] header = EXPORTED FUNCTIONS command = export_function [Leftovers] [Region / postlude] [Authors] [Legal] MooseX-Has-Sugar-0.05070422/MANIFEST0000644000175000017500000000262312243071627014743 0ustar kentkent.perltidyrc .travis.yml Build.PL Changes LICENSE MANIFEST META.json META.yml README dist.ini lib/MooseX/Has/Sugar.pm lib/MooseX/Has/Sugar/Minimal.pm lib/MooseX/Has/Sugar/Saccharin.pm maint-travis-ci/README.mkdn maint-travis-ci/before_script.pl maint-travis-ci/install_deps.pl maint-travis-ci/lib/tools.pm maint-travis-ci/merge_travis_yml.pl maint-travis-ci/report_fail_ctx.pl maint-travis-ci/script.pl maint-travis-ci/sterilize_env.pl maint-travis-ci/sync_tree.pl maint-travis-ci/yamls/sterile.mkdn maint-travis-ci/yamls/sterile.yaml maint-travis-ci/yamls/sterile2.yaml perlcritic.rc t/00-compile/lib_MooseX_Has_Sugar_Minimal_pm.t t/00-compile/lib_MooseX_Has_Sugar_Saccharin_pm.t t/00-compile/lib_MooseX_Has_Sugar_pm.t t/000-report-versions-tiny.t t/04_values.t t/05_is.t t/06_attr_required.t t/07_attr_lazy_build.t t/08_saccharin.t t/09_saccharin.t t/10_saccharin.t t/lib/T10Saccharin/TestPackage.pm t/lib/T4Values/AMinimal.pm t/lib/T4Values/BDeclare.pm t/lib/T4Values/CDeclareRo.pm t/lib/T4Values/DEverything.pm t/lib/T4Values/EMixed.pm t/lib/T4Values/TestCant.pm t/lib/T5Is/TestPackage.pm t/lib/T6AttrRequired/TestPackage.pm t/lib/T7AttrLazyBuild/TestPackage.pm t/lib/T8Saccharin/TestPackage.pm t/lib/T9Saccharin/TestPackage.pm weaver.ini xt/author/critic.t xt/release/cpan-changes.t xt/release/distmeta.t xt/release/eol.t xt/release/kwalitee.t xt/release/minimum-version.t xt/release/pod-coverage.t xt/release/pod-syntax.t