aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Reaction/UI/WidgetClass.pm4
-rw-r--r--script/rclass_back_to_moose.pl3
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;
$_;