in reply to Do you think it's kosher to "re-bless" a Moose object?

Channelling mst from #moose:

Better to apply a role to an instance, or if you really must change the class use ->meta->rebless_instance. But applying a role at runtime is generally better. And if you have the data early enough, $class->with_traits(...)->new using MooseX::Traits would be ideal.

Replies are listed 'Best First'.
Re^2: Do you think it's kosher to "re-bless" a Moose object?
by locked_user sundialsvc4 (Abbot) on Nov 17, 2011 at 16:38 UTC

    It would be very helpful indeed if you could elaborate a bit on just what you mean by “early enough” ...

      It would be very helpful indeed if you could elaborate a bit on just what you mean by “early enough” ...

      He means that if you know what traits you want applied before the instance is created, then MooseX::Traits is likely useful (since you use it prior to constructing an instance). But if you don't know what traits you want to apply until after, then you can just use runtime role application (there is a cookbook for that I believe).

      -stvn