Skip Menu |

This queue is for tickets about the Moo CPAN distribution.

Report information
The Basics
Id: 64178
Status: resolved
Priority: 0/
Queue: Moo

People
Owner: Nobody in particular
Requestors: MARKSTOS [...] cpan.org
ovid [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in: (no value)



The docs for Role::Tiny state the following: "Unlike Class::C3, where the last class inherited from "wins," role composition is the other way around, where first wins. In a more complete system (see Moose) roles are checked to see if they clash. The goal of this is to be much simpler, hence disallowing composition of multiple roles at once." $company might start using roles, but if we do, full conflict resolution is desired. That means we can't use Moo. There are concerns about jumping in the deep end by using Moose and several devs have suggested we try Mouse as a 'small step'.
Subject: Conflict resolution
Accidentally hit "update" before finishing the request :) In short, is it possible to add proper conflict resolution to Role::Tiny so that we can compose multiple roles safely? We're not even worried about runtime application, just composition safety.
On Thu Dec 23 11:08:17 2010, OVID wrote: Show quoted text
> Accidentally hit "update" before finishing the request :) > > In short, is it possible to add proper conflict resolution to > Role::Tiny so that we can compose > multiple roles safely? We're not even worried about runtime > application, just composition safety.
Apologies for not seeing this sooner; sending a ticket in immediately before christmas is not I'm afraid always the ideal option. Conflict resolution can definitely be added - test cases very welcome and I'll have a look at adding composition to it soon.
Subject: Role::Tiny should document and test it's intent with attribute composition
Hello and thanks for this distribution. In reviewing in the Role::Tiny docs and tests, I don't see any mention of attribute composition. Whether there is intent to support or not, it should be mentioned in the docs as something it does or does not do. Thanks! Mark
This is a longstanding TODO. At this point the status is "patches welcome". Merging with the older relevant ticket.
On Thu Dec 23 11:08:17 2010, OVID wrote: Show quoted text
> Accidentally hit "update" before finishing the request :) > > In short, is it possible to add proper conflict resolution to > Role::Tiny so that we can compose > multiple roles safely? We're not even worried about runtime > application, just composition safety.
Since Ovid forked Role::Tiny into Role::Basic rather than send patches, I'm going to consider this "no longer requested" unless he indicates a willingness to un-fork.
On Mon May 16 09:05:01 2011, MARKSTOS wrote: Show quoted text
> Hello and thanks for this distribution. > > In reviewing in the Role::Tiny docs and tests, I don't see any mention of > attribute composition. Whether there is intent to support or not, it > should be mentioned in the docs as something it does or does not do.
Also: Role::Tiny doesn't support attributes. Those are Moo::Role only. And they don't compose in anything. Once you figure out what you actually meant, feel free to file a new ticket.
On Thu Dec 23 11:06:36 2010, OVID wrote: Show quoted text
> The docs for Role::Tiny state the following: > > "Unlike Class::C3, where the last class inherited from "wins," role > composition is the other way > around, where first wins. In a more complete system (see Moose) roles > are checked to see if they > clash. The goal of this is to be much simpler, hence disallowing > composition of multiple roles at > once."
Role::Tiny/Moo::Role now do allow composition, although they don't support the 'excludes' misfeature. As such, marking this as resolved.