Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: Moose role with requirement consuming another role

by moritz (Cardinal)
on Jul 20, 2011 at 10:09 UTC ( #915624=note: print w/replies, xml ) Need Help??

in reply to Moose role with requirement consuming another role

I don't quite understand your approach. If role Role::App requires the attribute gazpacho that role App::FixIt provides, why not not simply compose App::FixIt into Role::App?

Replies are listed 'Best First'.
Re^2: Moose role with requirement consuming another role
by Boldra (Deacon) on Jul 20, 2011 at 10:21 UTC
    My second example (with gazpacho), was really just meant to show that I understand the importance of the with/has order when a class consumes a role. Perhaps I over-emphasized it.

    The real problem is not with class<-role(requirement), but, similar to my first example, class<-role<-role<-role(requirements). Or to go into yet more detail, I have about 30 app classes which consume one of two specialized App roles, these both consume a generic App role, which consumes three further roles, MooseX::Getopt, MooseX::SimpleConfig plus our own app-logger role.

    I can easily drop the requirement in the app-logger role and everything works fine. I'm just curious if there is a better solution.

    - Boldra

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://915624]
[ambrus]: Yes, for like the first twenty of its years, TeX was basically the only system that allowed you to write decent maths papers, and C++ and PHP were programming languages that sucked, etc. But times change and people have to accept that.
Discipulus bad people + good tool < normal people + decent tool
[Discipulus]: php does not suck anymore?
[ambrus]: Discipulus: I'm not sure, but it certainly doesn't suck as much as it's used to. it's like C++, it sucks because people still recursively learn from twenty year old PHP examples,
[ambrus]: and they try to use the obsolete features that PHP has to support only for compatibility with old scripts. C++ and PHP both have the problem that people can't forget the past, because when they google "PHP" plus the problme they want to solve, they find b
[ambrus]: ad code examples.
[ambrus]: I'm not trying to recommend PHP, but I think it has way too bad a name because of its past.
[ambrus]: This is different from MS Word, which was already a good editor in the pre-unicode days (in word for windows versions 2 and 6, which ran on windows 3 but also on windows 95), only it wasn't trying to solve the task of writing maths papers back then.
[Discipulus]: ah ok, sounds reasonable; with no fear: Perl all life long
[ambrus]: Mind you, LaTeX is currently still useful for writing math paper or snippet content without styling in such a way that the

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (10)
As of 2017-09-26 11:08 GMT
Find Nodes?
    Voting Booth?
    During the recent solar eclipse, I:

    Results (293 votes). Check out past polls.