Fix NAME in POD
[catagits/Reaction.git] / lib / Reaction / UI / WidgetClass.pm
index 7e7216c..0b3e62f 100644 (file)
@@ -57,7 +57,11 @@ override exports_for_package => sub {
       my ($name, $value) = @_;
 
       my $sig = "should be: arg 'name' => \$value";
-      if (@_ < 2) { confess "Not enough arguments, $sig"; }
+      if (@_ < 2) {
+        $name ||= 'undef';
+        $value ||= 'undef';
+        confess "Not enough arguments, $sig, got: $name => $value";
+      }
       if (!defined $name) { confess "name undefined, $sig"; }
       if (ref $name) { confess "name is not a string, $sig"; }
 
@@ -78,6 +82,23 @@ override exports_for_package => sub {
       my %args = map{ $vp->event_id_for($_) => $events->{$_} } keys %$events;
       $vp->ctx->req->uri_with(\%args);
     },
+    attrs => sub {
+      my ($attrs) = @_;
+      return join(' ', map {
+        my $text = $attrs->{$_};
+        for ($text) {
+            s/&/&amp;/g;
+            s/</&lt;/g;
+            s/>/&gt;/g;
+            s/"/&quot;/g;
+        }
+        qq{$_="${text}"};
+      } keys %$attrs);
+    },
+    implements => sub {
+      my ($name, $sub) = @_;
+      $package->meta->add_method($name, $sub);
+    },
   );
 };
 override default_base => sub { ('Reaction::UI::Widget') };