Add docs for changes
Tomas Doran [Sat, 18 Jul 2009 09:56:17 +0000 (09:56 +0000)]
lib/Catalyst/Action.pm
lib/Catalyst/Component.pm

index e9c9363..8d187a0 100644 (file)
@@ -55,8 +55,6 @@ use overload (
 
 no warnings 'recursion';
 
-#__PACKAGE__->mk_accessors(qw/class namespace reverse attributes name code/);
-
 sub dispatch {    # Execute ourselves against a context
     my ( $self, $c ) = @_;
     return $c->execute( $self->class, $self );
@@ -84,7 +82,7 @@ sub compare {
     my ($a1_args) = @{ $a1->attributes->{Args} || [] };
     my ($a2_args) = @{ $a2->attributes->{Args} || [] };
 
-    $_ = looks_like_number($_) ? $_ : ~0 
+    $_ = looks_like_number($_) ? $_ : ~0
         for $a1_args, $a2_args;
 
     return $a1_args <=> $a2_args;
@@ -105,7 +103,9 @@ and so on. This determines how the action is dispatched to.
 
 =head2 class
 
-Returns the class name where this action is defined.
+Returns the class name of the component where this action is defined.
+Derived by calling the L<Catalyst::Component/_component_class|_component_class>
+method on each component.
 
 =head2 code
 
index 0fbca47..d069278 100644 (file)
@@ -172,6 +172,14 @@ something like this:
       return $class->new($app, $args);
   }
 
+=head2 _component_class
+
+The class name of the component within an application. This is used to
+pass the component's class name to actions generated (becoming
+C<< $action->class >>). This is needed so that the L</COMPONENT> method can
+return an instance of a different class (e.g. a L<Class::MOP> anonymous class),
+and should be used to retrieve a component instead of C<< ref($self) >>.
+
 =head2 $c->config
 
 =head2 $c->config($hashref)