make widget stuff manglable
matthewt [Tue, 12 Aug 2008 18:53:50 +0000 (18:53 +0000)]
lib/Reaction/UI/WidgetClass.pm
script/rclass_back_to_moose.pl

index b1c88c0..0b3e62f 100644 (file)
@@ -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') };
index d22700d..c34392e 100644 (file)
@@ -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;
   $_;