Applied doc patches that might help to figure out how to receive component's config...
Matthias Dietrich [Tue, 15 Jun 2010 11:53:05 +0000 (11:53 +0000)]
Changes
lib/Catalyst.pm
lib/Catalyst/Component.pm

diff --git a/Changes b/Changes
index 25bcbc3..f8ee533 100644 (file)
--- a/Changes
+++ b/Changes
@@ -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
 
index 26b7649..f80f8a1 100644 (file)
@@ -903,6 +903,21 @@ constructed:
         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 @@ wreis: Wallace Reis <wallace@reis.org.br>
 
 Yuval Kogman, C<nothingmuch@woobling.org>
 
+rainboxx: Matthias Dietrich, C<perl@rainboxx.de>
+
 =head1 LICENSE
 
 This library is free software. You can redistribute it and/or modify it under
index 2fd7181..28da155 100644 (file)
@@ -170,7 +170,7 @@ to be stored in the application's component hash.
 
 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 @@ key value pair, or you can specify a hashref. In either case the keys
 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.