Permalink
Browse files

Doc fixes / additions in Catalyst::Component

  • Loading branch information...
1 parent 2114ee9 commit d8ccdd9d64915be00c29a7ab21d9275431235697 @bobtfish bobtfish committed Mar 9, 2012
Showing with 21 additions and 4 deletions.
  1. +6 −0 Changes
  2. +15 −4 lib/Catalyst/Component.pm
View
@@ -1,5 +1,11 @@
# This file documents the revision history for Perl extension Catalyst.
+ Documentation:
+ - Fix documentation in Catalyst::Component to show attributes and
+ calling readers, rather than accessing elements in the $self->{} hash
+ directly.
+ - Add note in Catalyst::Component to strongly disrecommend $self->config
+
5.90011 - 2012-03-08 16:43:00
Bug fixes:
View
@@ -28,14 +28,18 @@ Catalyst::Component - Catalyst Component Base Class
__PACKAGE__->config( foo => 'bar' );
+ has foo => (
+ is => 'ro',
+ );
+
sub test {
my $self = shift;
- return $self->{foo};
+ return $self->foo;
}
sub forward_to_me {
my ( $self, $c ) = @_;
- $c->response->output( $self->{foo} );
+ $c->response->output( $self->foo );
}
1;
@@ -46,7 +50,7 @@ Catalyst::Component - Catalyst Component Base Class
# Or just methods
print $c->comp('MyApp::Model::Something')->test;
- print $c->comp('MyApp::Model::Something')->{foo};
+ print $c->comp('MyApp::Model::Something')->foo;
=head1 DESCRIPTION
@@ -56,6 +60,13 @@ This is the universal base class for Catalyst components
It provides you with a generic new() for component construction through Catalyst's
component loader with config() support and a process() method placeholder.
+B<Note> that calling C<< $self->config >> inside a component is strongly
+disrecommended - the correctly merged config should have already been
+passed to the constructor and stored in attributes - accessing
+the config accessor directly from an instance is likely to get the
+wrong values (as it only holds the class wide config, not things loaded
+from the config file!)
+
=cut
__PACKAGE__->mk_classdata('_plugins');
@@ -202,7 +213,7 @@ a Catalyst application has its own config hash.
The component's config hash is merged with any config entry on the
application for this component and passed to C<new()> (as mentioned
-above at L</COMPONENT>). The common practice to access the merged
+above at L</COMPONENT>). The recommended practice to access the merged
config is to use a Moose attribute for each config entry on the
receiving component.

0 comments on commit d8ccdd9

Please sign in to comment.