diff options
-rw-r--r-- | lib/IM/Engine/Plugin/Commands/OO.pm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/IM/Engine/Plugin/Commands/OO.pm b/lib/IM/Engine/Plugin/Commands/OO.pm index 132d08a..581582c 100644 --- a/lib/IM/Engine/Plugin/Commands/OO.pm +++ b/lib/IM/Engine/Plugin/Commands/OO.pm @@ -63,7 +63,12 @@ sub init_meta { ['IM::Engine::Plugin::Commands::Trait::Class::Command', 'IM::Engine::Plugin::Commands::Trait::Class::Formatted'], ); - return $options{for_class}->meta; + my $meta = Class::MOP::class_of($options{for_class}); + my @supers = $meta->superclasses; + $meta->superclasses('IM::Engine::Plugin::Commands::Command') + if @supers == 1 && $supers[0] eq 'Moose::Object' + && $options{for_class} ne 'IM::Engine::Plugin::Commands::Command'; + return $meta; } 1; |