Hello community, here is the log from the commit of package perl-MooX-late for openSUSE:Factory checked in at 2020-10-22 14:25:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-MooX-late (Old) and /work/SRC/openSUSE:Factory/.perl-MooX-late.new.3463 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-MooX-late" Thu Oct 22 14:25:14 2020 rev:3 rq:843017 version:0.100 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-MooX-late/perl-MooX-late.changes 2019-11-22 10:27:17.593240483 +0100 +++ /work/SRC/openSUSE:Factory/.perl-MooX-late.new.3463/perl-MooX-late.changes 2020-10-22 14:26:42.678988843 +0200 @@ -1,0 +2,16 @@ +Tue Feb 18 03:10:27 UTC 2020 - <[email protected]> + +- updated to 0.100 + see /usr/share/doc/packages/perl-MooX-late/Changes + + 0.100 2020-02-17 + + [ Packaging ] + - Make Sub::HandlesVia a required dependency. + + [ Other ] + - Use Sub::HandlesVia instead of MooX::HandlesVia; less translation needed + because Sub::HandlesVia already understands Moose-like syntax; plus it + covers more datatypes and methods. + +------------------------------------------------------------------- Old: ---- MooX-late-0.016.tar.gz New: ---- MooX-late-0.100.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-MooX-late.spec ++++++ --- /var/tmp/diff_new_pack.cKekxI/_old 2020-10-22 14:26:43.342989438 +0200 +++ /var/tmp/diff_new_pack.cKekxI/_new 2020-10-22 14:26:43.346989443 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-MooX-late # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: perl-MooX-late -Version: 0.016 +Version: 0.100 Release: 0 %define cpan_name MooX-late Summary: Easily translate Moose code to Moo @@ -30,14 +30,15 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros -BuildRequires: perl(Moo) >= 1.006000 +BuildRequires: perl(Moo) >= 2 +BuildRequires: perl(Sub::HandlesVia) >= 0.013 BuildRequires: perl(Test::Fatal) >= 0.010 BuildRequires: perl(Test::More) >= 0.96 BuildRequires: perl(Test::Requires) >= 0.06 BuildRequires: perl(Type::Utils) >= 1.000001 -Requires: perl(Moo) >= 1.006000 +Requires: perl(Moo) >= 2 +Requires: perl(Sub::HandlesVia) >= 0.013 Requires: perl(Type::Utils) >= 1.000001 -Recommends: perl(MooX::HandlesVia) >= 0.001004 %{perl_requires} %description @@ -74,12 +75,7 @@ * 5. -Handles certain attribute traits. Currently 'Hash', 'Array' and 'Code' are -supported. This feature requires MooX::HandlesVia. - -'String', 'Number', 'Counter' and 'Bool' are unlikely to ever be supported -because of internal implementation details of Moo. If you need another -attribute trait to be supported, let me know and I will consider it. +Handles native attribute traits. Five features. It is not the aim of 'MooX::late' to make every aspect of Moo behave exactly identically to Moose. It's just going after the ++++++ MooX-late-0.016.tar.gz -> MooX-late-0.100.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/COPYRIGHT new/MooX-late-0.100/COPYRIGHT --- old/MooX-late-0.016/COPYRIGHT 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/COPYRIGHT 2020-02-17 18:18:09.000000000 +0100 @@ -12,6 +12,13 @@ Copyright: This software is copyright (c) 2012-2014, 2019 by Toby Inkster. License: GPL-1.0+ or Artistic-1.0 +Files: INSTALL + LICENSE + TODO + examples/simple.pl +Copyright: Unknown +License: Unknown + Files: t/05haveimissedanytypes.t t/06handlesvia.t t/07coerce1.t @@ -23,16 +30,9 @@ META.json META.yml doap.ttl -Copyright: Copyright 2019 Toby Inkster. +Copyright: Copyright 2020 Toby Inkster. License: GPL-1.0+ or Artistic-1.0 -Files: INSTALL - LICENSE - TODO - examples/simple.pl -Copyright: Unknown -License: Unknown - Files: COPYRIGHT CREDITS SIGNATURE @@ -45,14 +45,14 @@ License: GPL-1.0+ or Artistic-1.0 License: Artistic-1.0 - This software is Copyright (c) 2019 by the copyright holder(s). + This software is Copyright (c) 2020 by the copyright holder(s). This is free software, licensed under: The Artistic License 1.0 License: GPL-1.0 - This software is Copyright (c) 2019 by the copyright holder(s). + This software is Copyright (c) 2020 by the copyright holder(s). This is free software, licensed under: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/Changes new/MooX-late-0.100/Changes --- old/MooX-late-0.016/Changes 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/Changes 2020-02-17 18:18:09.000000000 +0100 @@ -6,6 +6,16 @@ Bug tracker: <http://rt.cpan.org/Dist/Display.html?Queue=MooX-late> Maintainer: Toby Inkster (TOBYINK) <[email protected]> +0.100 2020-02-17 + + [ Packaging ] + - Make Sub::HandlesVia a required dependency. + + [ Other ] + - Use Sub::HandlesVia instead of MooX::HandlesVia; less translation needed + because Sub::HandlesVia already understands Moose-like syntax; plus it + covers more datatypes and methods. + 0.016 2019-11-18 [ Test Suite ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/LICENSE new/MooX-late-0.100/LICENSE --- old/MooX-late-0.016/LICENSE 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/LICENSE 2020-02-17 18:18:09.000000000 +0100 @@ -1,4 +1,4 @@ -This software is copyright (c) 2019 by Toby Inkster. +This software is copyright (c) 2020 by Toby Inkster. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. @@ -12,7 +12,7 @@ --- The GNU General Public License, Version 1, February 1989 --- -This software is Copyright (c) 2019 by Toby Inkster. +This software is Copyright (c) 2020 by Toby Inkster. This is free software, licensed under: @@ -272,7 +272,7 @@ --- The Artistic License 1.0 --- -This software is Copyright (c) 2019 by Toby Inkster. +This software is Copyright (c) 2020 by Toby Inkster. This is free software, licensed under: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/META.json new/MooX-late-0.100/META.json --- old/MooX-late-0.016/META.json 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/META.json 2020-02-17 18:18:09.000000000 +0100 @@ -31,11 +31,9 @@ } }, "runtime" : { - "recommends" : { - "MooX::HandlesVia" : "0.001004" - }, "requires" : { - "Moo" : "1.006000", + "Moo" : "2", + "Sub::HandlesVia" : "0.013", "Type::Utils" : "1.000001", "perl" : "5.008003" }, @@ -54,11 +52,11 @@ "provides" : { "MooX::late" : { "file" : "lib/MooX/late.pm", - "version" : "0.016" + "version" : "0.100" }, "MooX::late::DefinitionContext" : { "file" : "lib/MooX/late.pm", - "version" : "0.016" + "version" : "0.100" } }, "release_status" : "stable", @@ -77,7 +75,7 @@ }, "x_identifier" : "http://purl.org/NET/cpan-uri/dist/MooX-late/project" }, - "version" : "0.016", + "version" : "0.100", "x_serialization_backend" : "JSON::PP version 2.27400_02", "x_static_install" : 1 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/META.yml new/MooX-late-0.100/META.yml --- old/MooX-late-0.016/META.yml 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/META.yml 2020-02-17 18:18:09.000000000 +0100 @@ -27,14 +27,13 @@ provides: MooX::late: file: lib/MooX/late.pm - version: '0.016' + version: '0.100' MooX::late::DefinitionContext: file: lib/MooX/late.pm - version: '0.016' -recommends: - MooX::HandlesVia: '0.001004' + version: '0.100' requires: - Moo: '1.006000' + Moo: '2' + Sub::HandlesVia: '0.013' Type::Utils: '1.000001' perl: '5.008003' resources: @@ -43,6 +42,6 @@ homepage: https://metacpan.org/release/MooX-late license: http://dev.perl.org/licenses/ repository: git://github.com/tobyink/p5-moox-late.git -version: '0.016' +version: '0.100' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' x_static_install: 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/Makefile.PL new/MooX-late-0.100/Makefile.PL --- old/MooX-late-0.016/Makefile.PL 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/Makefile.PL 2020-02-17 18:18:09.000000000 +0100 @@ -19,9 +19,13 @@ "prereqs" => { configure => { requires => { "ExtUtils::MakeMaker" => 6.17 } }, runtime => { - recommends => { "MooX::HandlesVia" => 0.001004 }, - requires => { "Moo" => "1.006000", "perl" => 5.008003, "Type::Utils" => 1.000001 }, - suggests => { MooX => 0 }, + requires => { + "Moo" => 2, + "perl" => 5.008003, + "Sub::HandlesVia" => 0.013, + "Type::Utils" => 1.000001, + }, + suggests => { MooX => 0 }, }, test => { requires => { @@ -32,8 +36,8 @@ }, }, "provides" => { - "MooX::late" => { file => "lib/MooX/late.pm", version => 0.016 }, - "MooX::late::DefinitionContext" => { file => "lib/MooX/late.pm", version => 0.016 }, + "MooX::late" => { file => "lib/MooX/late.pm", version => "0.100" }, + "MooX::late::DefinitionContext" => { file => "lib/MooX/late.pm", version => "0.100" }, }, "release_status" => "stable", "resources" => { @@ -47,7 +51,7 @@ }, x_identifier => "http://purl.org/NET/cpan-uri/dist/MooX-late/project", }, - "version" => 0.016, + "version" => "0.100", "x_static_install" => 1, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/README new/MooX-late-0.100/README --- old/MooX-late-0.016/README 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/README 2020-02-17 18:18:09.000000000 +0100 @@ -33,13 +33,7 @@ 4. Exports `blessed` and `confess` functions to your namespace. - 5. Handles certain attribute traits. Currently `Hash`, `Array` and `Code` - are supported. This feature requires MooX::HandlesVia. - - `String`, `Number`, `Counter` and `Bool` are unlikely to ever be - supported because of internal implementation details of Moo. If you - need another attribute trait to be supported, let me know and I will - consider it. + 5. Handles native attribute traits. Five features. It is not the aim of `MooX::late` to make every aspect of Moo behave exactly identically to Moose. It's just going after the @@ -83,10 +77,11 @@ SEE ALSO `MooX::late` uses Types::Standard to check type constraints. - `MooX::late` uses MooX::HandlesVia to provide native attribute traits + `MooX::late` uses Sub::HandlesVia to provide native attribute traits support. - The following modules bring additional Moose functionality to Moo: + The following modules bring additional Moose functionality to Moo, beyond + what MooX::late offers: * MooX::Override - support override/super diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/SIGNATURE new/MooX-late-0.100/SIGNATURE --- old/MooX-late-0.016/SIGNATURE 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/SIGNATURE 2020-02-17 18:18:09.000000000 +0100 @@ -14,24 +14,24 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -SHA256 5ed9b01ced77286884583d626c29ab47e4856b45be35ea82ade064b86a01fd3a COPYRIGHT +SHA256 beac6359d2a8a70a0c42b71da2f09cdd48ef7bc7e1cc9e8f4509f9848b89ca8b COPYRIGHT SHA256 35795e85f02fc4eec1af1364cf51526995f8c5adea2d2e8ab3d611b8c70d99e6 CREDITS -SHA256 6fba3c4d1a33c542c7d4a680bde61cef8419b6ca5428e569f81733a13ecb721b Changes +SHA256 922dd0a79bda733be98e002d8ee8afa1f51fdc329630d32c6ed30f80a7eb5b9f Changes SHA256 a98b2208794d53deb2af287f35deed21647371ae78af4cbf3f6cd945f6d90b22 INSTALL -SHA256 5c791221f0dde289392a38a5921b66d4a1be8248cc64ee6de15f3c2426892673 LICENSE +SHA256 1fb7395e76eabf94c421912d7d0a4f7fa745d49e1acb76b222c21d605b66bd25 LICENSE SHA256 e79950c0837b90af65b83fef54d7b9fb48021a7e52a31ccff04409c5b46e3da8 MANIFEST -SHA256 8a282c2954cc834633d4c6d4c9b5de93b6e13703705ffad97e6a2d7231e3f1fd META.json -SHA256 eadfbf93c7b70ee7a4578ff38c492f2084c27ed24c8980ae7dffa75c768b4d98 META.yml -SHA256 471dd11b88fa726ab20bcd10dce0d4dbbc1212389eccfe08fefc514e1b5fbdff Makefile.PL -SHA256 338b064239d561567dd44d8fa1f25479499be40e50549b75f718a508cd41de80 README +SHA256 cb6d92c86db9aec63c0cda643389ddb341aac22fa818213782888fc349a7bad4 META.json +SHA256 05b0faa01e45f547a620df325e9f0312f5a97eb840540d8ec06edb47e7c8d4d0 META.yml +SHA256 39e3410163b3fc231f90718c315a2bf8ecd7fbfd937ca3f6c30ad33df9d23067 Makefile.PL +SHA256 896c783da68fe4bb358d2f9892853b5dc63ddea354233f72754a766e64bcfe0a README SHA256 ff79e4feb9cfeddbc099115b77be1abf2e240dba0f4ec554460173e0210da32f TODO SHA256 40039583fc614bf541b8baf55486d94d0657de005e6f65eddf2380cca65d66a4 dist.ini -SHA256 d46d43108444fc4bcbeb37e42bb59f31061e035d9673e5eda153c33edd0b8e81 doap.ttl +SHA256 675fc70a99f87e93a367e4ea5e3b9517a2487caa069586d32da3d00982d44bb2 doap.ttl SHA256 fd5a86026a4b9164df263f73105d3009c0b40a85add10dfe1758c98f64fcb0e8 examples/simple.pl -SHA256 b0417bba758541a2fc0a91b6f8061a5fe6c05e378cc8c2c106ca5efcba079978 lib/MooX/late.pm +SHA256 9df04acba5532dfb1cd70b42f5d5979cf8ee35a8c461d865ce581268e027536a lib/MooX/late.pm SHA256 90f11804e31842863805fc0fa7269e72e35fb70f32adc02d98345354a54db4a7 t/01basic.t SHA256 2e70beacdcf5c0c90a79e0983a22a43ca6a0ab149f21c1b56929a175820b9abc t/02inflation.t -SHA256 1dad209317d5c2a6b42824228e7bd1c71b88268b4a716f822ffff304e4e04186 t/03invalid_tc.t +SHA256 6d5c652f9fa925fe24f706498368db6c5778e15c46fdfb6aad33d2c2fa95bc1b t/03invalid_tc.t SHA256 230ac3a8904b187263b8f612eec014b5c36d90c7e3e4192aa1a8eda51df046d1 t/04arrayofattrs.t SHA256 12f16b2870e2704ea6145e8de3e9b8b9a3c795347034bae58dfbf8624bf9c132 t/05haveimissedanytypes.t SHA256 519537ef84d80d1642f140596313765307e9e677940e5fd0c00f0b6fa6b03bd9 t/06handlesvia.t @@ -39,7 +39,7 @@ SHA256 8ccdb0f39149ba22a08198b4dfc957b5b7cad3e1fc0674b748b5babdfc90b28a t/08doesrole.t -----BEGIN PGP SIGNATURE----- -iF0EARECAB0WIQRVJKj/4+s6z4WzNujOv4Eoaip9OQUCXdLFKQAKCRDOv4Eoaip9 -OY9qAJ9ZwUtNxzzz/C9yZeC2Kj3LPMIlnACdGYw0O6OINOI2p9jh40oN45F4Z7o= -=6s70 +iF0EARECAB0WIQRVJKj/4+s6z4WzNujOv4Eoaip9OQUCXkrK0QAKCRDOv4Eoaip9 +OQ4kAKCQ4ATGV9202bPxB295HoceMSpJUgCgiSEPZHRRwJS2aVwA1hEVbvEmAJE= +=zDbo -----END PGP SIGNATURE----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/doap.ttl new/MooX-late-0.100/doap.ttl --- old/MooX-late-0.016/doap.ttl 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/doap.ttl 2020-02-17 18:18:09.000000000 +0100 @@ -13,11 +13,10 @@ <http://purl.org/NET/cpan-uri/dist/MooX-late/project> a doap:Project; dc:contributor <http://purl.org/NET/cpan-uri/person/tobyink>; - doap-deps:runtime-recommendation [ - doap-deps:on "MooX::HandlesVia 0.001004"^^doap-deps:CpanId; - ]; - doap-deps:runtime-requirement [ doap-deps:on "perl 5.008003"^^doap-deps:CpanId ], [ doap-deps:on "Moo 1.006000"^^doap-deps:CpanId ], [ + doap-deps:runtime-requirement [ doap-deps:on "perl 5.008003"^^doap-deps:CpanId ], [ doap-deps:on "Moo 2"^^doap-deps:CpanId ], [ doap-deps:on "Type::Utils 1.000001"^^doap-deps:CpanId; + ], [ + doap-deps:on "Sub::HandlesVia 0.013"^^doap-deps:CpanId; ]; doap-deps:runtime-suggestion [ doap-deps:on "MooX"^^doap-deps:CpanId ]; doap-deps:test-requirement [ doap-deps:on "Test::More 0.96"^^doap-deps:CpanId ], [ @@ -32,7 +31,7 @@ doap:maintainer <http://purl.org/NET/cpan-uri/person/tobyink>; doap:name "MooX-late"; doap:programming-language "Perl"; - doap:release <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-001>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-002>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-003>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-004>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-005>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-006>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-007>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-008>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-009>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-010>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-011>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-012>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-013>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-014>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-015>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-016>; + doap:release <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-001>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-002>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-003>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-004>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-005>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-006>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-007>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-008>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-009>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-010>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-011>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-012>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-013>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-014>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-015>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-016>, <http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-100>; doap:repository [ a doap:GitRepository; doap:browse <https://github.com/tobyink/p5-moox-late>; @@ -306,6 +305,23 @@ doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/MooX-late-0.016.tar.gz>; doap:revision "0.016"^^xsd:string. +<http://purl.org/NET/cpan-uri/dist/MooX-late/v_0-100> + a doap:Version; + dc:identifier "MooX-late-0.100"^^xsd:string; + dc:issued "2020-02-17"^^xsd:date; + doap-changeset:changeset [ + doap-changeset:item [ + a doap-changeset:Change; + rdfs:label "Use Sub::HandlesVia instead of MooX::HandlesVia; less translation needed because Sub::HandlesVia already understands Moose-like syntax; plus it covers more datatypes and methods."; + ], [ + a doap-changeset:Packaging; + rdfs:label "Make Sub::HandlesVia a required dependency."; + ]; + ]; + doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>; + doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/MooX-late-0.100.tar.gz>; + doap:revision "0.100"^^xsd:string. + <http://purl.org/NET/cpan-uri/person/shlomif> a foaf:Person; foaf:nick "SHLOMIF"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/lib/MooX/late.pm new/MooX-late-0.100/lib/MooX/late.pm --- old/MooX-late-0.016/lib/MooX/late.pm 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/lib/MooX/late.pm 2020-02-17 18:18:09.000000000 +0100 @@ -4,7 +4,7 @@ package MooX::late; our $AUTHORITY = 'cpan:TOBYINK'; -our $VERSION = '0.016'; +our $VERSION = '0.100'; use Moo qw( ); use Carp qw( carp croak ); @@ -14,7 +14,7 @@ BEGIN { package MooX::late::DefinitionContext; our $AUTHORITY = 'cpan:TOBYINK'; - our $VERSION = '0.016'; + our $VERSION = '0.100'; use Moo; use overload ( @@ -61,7 +61,7 @@ # sub _handlers { - qw( isa does lazy_build traits ); + qw( isa does lazy_build ); } # SUBCLASSING @@ -78,6 +78,10 @@ my $me = shift; my $caller = caller; + require Sub::HandlesVia; + require Sub::HandlesVia::Toolkit::Moo; + 'Sub::HandlesVia::Toolkit::Moo'->setup_for($caller); + my $install_tracked; { no warnings; @@ -205,90 +209,6 @@ return; } -sub _handle_traits -{ - my $me = shift; - my ($name, $spec, $context, $class) = @_; - - my @new; - foreach my $trait (@{ $spec->{traits} || [] }) - { - my $handler = $me->can("_handletrait_$trait"); - croak "$me cannot process trait $trait" unless $handler; - - # SUBCLASSING - # There is a second level of handlers for traits. - # Just add a method called "_handletrait_Foo" - # and it will be called to handle the trait "Foo". - # These handlers should normally return the empty - # list, but may return a list of strings to add to - # a *new* traits arrayref. - # - push @new, $me->$handler(@_); - } - - $spec->{traits} = \@new; - - if ($spec->{handles_via}) - { - eval "require MooX::HandlesVia" - or croak("Requires MooX::HandlesVia for attribute trait defined at $context"); - - my ($name, %spec) = MooX::HandlesVia::process_has($name, %$spec); - %$spec = %spec; - } - - return; -} - -sub _handletrait_Array -{ - my $me = shift; - my ($name, $spec, $context, $class) = @_; - - $spec->{handles_via} = "Data::Perl::Collection::Array::MooseLike"; - - return; -} - -sub _handletrait_Hash -{ - my $me = shift; - my ($name, $spec, $context, $class) = @_; - - $spec->{handles_via} = "Data::Perl::Collection::Hash::MooseLike"; - - return; -} - -sub _handletrait_Code -{ - my $me = shift; - my ($name, $spec, $context, $class) = @_; - - $spec->{handles_via} = "Data::Perl::Code"; - - # Special handling for execute_method! - while (my ($k, $v) = each %{ $spec->{handles} }) - { - next unless $v eq q(execute_method); - - # MooX::HandlesVia can't handle this right yet. - delete $spec->{handles}{$k}; - - # ... so we handle it ourselves. - eval qq{ - package ${class}; - sub ${k} { - my \$self = shift; - return \$self->${name}->(\$self, \@_); - } - }; - } - - return; -} - 1; __END__ @@ -349,13 +269,7 @@ =item 5. -Handles certain attribute traits. Currently C<Hash>, C<Array> and C<Code> -are supported. This feature requires L<MooX::HandlesVia>. - -C<String>, C<Number>, C<Counter> and C<Bool> are unlikely to ever be -supported because of internal implementation details of Moo. If you need -another attribute trait to be supported, let me know and I will consider -it. +Handles native attribute traits. =back @@ -407,10 +321,11 @@ C<MooX::late> uses L<Types::Standard> to check type constraints. -C<MooX::late> uses L<MooX::HandlesVia> to provide native attribute traits +C<MooX::late> uses L<Sub::HandlesVia> to provide native attribute traits support. -The following modules bring additional Moose functionality to Moo: +The following modules bring additional Moose functionality to Moo, +beyond what MooX::late offers: =over diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooX-late-0.016/t/03invalid_tc.t new/MooX-late-0.100/t/03invalid_tc.t --- old/MooX-late-0.016/t/03invalid_tc.t 2019-11-18 17:22:01.000000000 +0100 +++ new/MooX-late-0.100/t/03invalid_tc.t 2020-02-17 18:18:09.000000000 +0100 @@ -33,7 +33,7 @@ }; }; -diag($e); +#diag($e); like( $e,
