[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