[Catalyst-commits] r13351 - in Catalyst-Runtime/5.80/trunk: . lib
lib/Catalyst
rainboxx at dev.catalyst.perl.org
rainboxx at dev.catalyst.perl.org
Tue Jun 15 11:53:05 GMT 2010
Author: rainboxx
Date: 2010-06-15 12:53:05 +0100 (Tue, 15 Jun 2010)
New Revision: 13351
Modified:
Catalyst-Runtime/5.80/trunk/Changes
Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm
Catalyst-Runtime/5.80/trunk/lib/Catalyst/Component.pm
Log:
Applied doc patches that might help to figure out how to receive component's config values.
Modified: Catalyst-Runtime/5.80/trunk/Changes
===================================================================
--- Catalyst-Runtime/5.80/trunk/Changes 2010-06-15 11:30:06 UTC (rev 13350)
+++ Catalyst-Runtime/5.80/trunk/Changes 2010-06-15 11:53:05 UTC (rev 13351)
@@ -7,6 +7,8 @@
Documentation:
- Fix missing - in the docs when describing the --mechanize option at one
point.
+ - Explained the common practice how to access the component's config
+ values.
5.80024 2010-05-15 11:55:44
Modified: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Component.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Component.pm 2010-06-15 11:30:06 UTC (rev 13350)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Component.pm 2010-06-15 11:53:05 UTC (rev 13351)
@@ -170,7 +170,7 @@
C<< my $component_instance = $component->COMPONENT($app, $arguments); >>
-If this method is present (as it is on all Catalyst::Component subclasses,
+If this method is present (as it is on all Catalyst::Component subclasses),
it is called by Catalyst during setup_components with the application class
as $app and any config entry on the application for this component (for example,
in the case of MyApp::Controller::Foo this would be
@@ -200,6 +200,12 @@
will be merged with any existing config settings. Each component in
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
+config is to use a Moose attribute for each config entry on the
+receiving component.
+
=head2 $c->process()
This is the default method called on a Catalyst component in the dispatcher.
Modified: Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm 2010-06-15 11:30:06 UTC (rev 13350)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm 2010-06-15 11:53:05 UTC (rev 13351)
@@ -903,6 +903,21 @@
overrides => 'me',
});
+It's common practice to use a Moose attribute
+on the receiving component to access the config value.
+
+ package MyApp::Model::Foo;
+
+ use Moose;
+
+ # this attr will receive 'baz' at construction time
+ has 'bar' => (
+ is => 'rw',
+ isa => 'Str',
+ );
+
+You can then get the value 'baz' by calling $c->model('Foo')->bar
+
=cut
around config => sub {
@@ -3183,6 +3198,8 @@
Yuval Kogman, C<nothingmuch at woobling.org>
+rainboxx: Matthias Dietrich, C<perl at rainboxx.de>
+
=head1 LICENSE
This library is free software. You can redistribute it and/or modify it under
More information about the Catalyst-commits
mailing list