diff options
-rw-r--r-- | lib/Reaction/UI/WidgetClass.pm | 4 | ||||
-rw-r--r-- | script/rclass_back_to_moose.pl | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/Reaction/UI/WidgetClass.pm b/lib/Reaction/UI/WidgetClass.pm index b1c88c0..0b3e62f 100644 --- a/lib/Reaction/UI/WidgetClass.pm +++ b/lib/Reaction/UI/WidgetClass.pm @@ -95,6 +95,10 @@ override exports_for_package => sub { qq{$_="${text}"}; } keys %$attrs); }, + implements => sub { + my ($name, $sub) = @_; + $package->meta->add_method($name, $sub); + }, ); }; override default_base => sub { ('Reaction::UI::Widget') }; diff --git a/script/rclass_back_to_moose.pl b/script/rclass_back_to_moose.pl index d22700d..c34392e 100644 --- a/script/rclass_back_to_moose.pl +++ b/script/rclass_back_to_moose.pl @@ -48,9 +48,10 @@ sub sq { # short for 'strip quotes' } sub filtered_body { + my $is_widget = m/WidgetClass/; local $_ = $_{body}; s/^ //g; - s/^\s*implements *(\S+).*?{/"sub ${\sq $1} {"/ge; + s/^\s*implements *(\S+).*?{/"sub ${\sq $1} {"/ge unless $is_widget; s/^\s*does/with/g; s/^\s*overrides/override/g; $_; |