Can you explain why you're wanting to do this? Why not just use the instance of the child object directly, and leave the parent as-is, as a parent class object? Or if you want to use the child object through the parent, stuff a copy of the object into the parent and use it from there?
It seems as though re-blessing the object may lead to potential confusion down the road, and may break things if someone tries to generate another object from the parent, instead of using the class:
# this may break/do something unexpected if $self is # re-blessed my $obj = $self->new(%params); # worse, the wordpress child probably doesn't have a wordpress_new() # method, as it has no need to. The parent probably calls new() on the # child through a wordpress-type instantiator my $obj = $self->wordpress_new();
Confusion?
my $parent = Foo::Bar->new; # after rebless, calling a documented method in the parent # class may cause major confusion (or worse, subtle breakage far away) # if the child has the same method overridden, and does something # totally different $parent->documented_method(); # got foo and not bar!?
In reply to Re^2: Converting Moose object to a subclass of itself
by stevieb
in thread Converting Moose object to a subclass of itself
by nysus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |