The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 04
META.json 22
META.yml 22
lib/Catalyst/Manual/Cookbook.pod 11
lib/Catalyst/Manual/Intro.pod 1822
lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod 11
lib/Catalyst/Manual/Tutorial/05_Authentication.pod 33
lib/Catalyst/Manual/Tutorial/10_Appendices.pod 33
lib/Catalyst/Manual.pm 11
9 files changed (This is a version diff) 3139
@@ -1,5 +1,9 @@
 Revision history for Catalyst-Manual
 
+5.9009 - 2014-12-13
+    - fixed a new error in the manual regarding "component" -> "components"
+      (RT#99131, RT#100597, RT#100767)
+
 5.9008 - 2014-07-26
     - misc small documentation tweaks (thanks Karen Etheridge, Matthew
       Horsfall, Andreas Marienborg, Dagfinn Ilmari Mannsåker, David
@@ -5,7 +5,7 @@
       "Kieren Diment <zarquon@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "ExtUtils::MakeMaker version 6.9905, CPAN::Meta::Converter version 2.142060",
+   "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.143240",
    "license" : [
       "perl_5"
    ],
@@ -56,5 +56,5 @@
          "web" : "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits/Catalyst-Manual.git"
       }
    },
-   "version" : "5.9008"
+   "version" : "5.9009"
 }
@@ -8,7 +8,7 @@ build_requires:
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 6.9905, CPAN::Meta::Converter version 2.142060'
+generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.143240'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -23,4 +23,4 @@ requires:
 resources:
   bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Catalyst-Manual
   repository: git://git.shadowcat.co.uk/catagits/Catalyst-Manual.git
-version: '5.9008'
+version: '5.9009'
@@ -1431,7 +1431,7 @@ just like in single file upload.
 
 Notice: C<die>ing might not be what you want to do, when an error
 occurs, but it works as an example. A better idea would be to store
-error C<$!> in $c->stash->{error} and show a custom error template
+error C<$!> in C<< $c->stash->{error} >> and show a custom error template
 displaying this message.
 
 For more information about uploads and usable methods look at
@@ -755,10 +755,10 @@ will look at the URL it is processing, and the actions that it has
 found, and automatically call the actions it finds that match the
 circumstances of the request.
 
-The URL (for example http://localhost:3000/foo/bar) consists of two
+The URL (for example C<http://localhost:3000/foo/bar>) consists of two
 parts, the base, describing how to connect to the server
-(http://localhost:3000/ in this example) and the path, which the
-server uses to decide what to return (foo/bar).  Please note that the
+(C<http://localhost:3000/> in this example) and the path, which the
+server uses to decide what to return (C<foo/bar>).  Please note that the
 trailing slash after the hostname[:port] always belongs to base and
 not to the path.  Catalyst uses only the path part when trying to find
 actions to process.
@@ -792,11 +792,11 @@ this is specially overridden with
 
 it matches using the namespace 'thing' instead.
 
-=item * B<Application Wide Actions>
+=item * B<Application-Wide Actions>
 
 MyApp::Controller::Root, as created by the catalyst.pl script, will
 typically contain actions which are called for the top level of the
-application (e.g. http://localhost:3000/ ):
+application (e.g. C<http://localhost:3000/>):
 
     package MyApp::Controller::Root;
     use base 'Catalyst::Controller';
@@ -844,7 +844,7 @@ of the path is passed as arguments.
     package MyApp::Controller::My::Controller;
     sub foo : Local { }
 
-Matches any URL beginning with> http://localhost:3000/my/controller/foo. The namespace and
+Matches any URL beginning with> C<http://localhost:3000/my/controller/foo>. The namespace and
 subroutine name together determine the path.
 
 =item * Root-level (C<:Global>)
@@ -860,7 +860,7 @@ subroutine name together determine the path.
 
 1;
 
-Matches http://localhost:3000/bar - that is, the action is mapped
+Matches C<http://localhost:3000/bar> - that is, the action is mapped
 directly to the method name, ignoring the controller namespace.
 
 C<:Global> always matches from the application root: it is simply
@@ -877,7 +877,7 @@ legitimate use-cases for it may still exist.
 
 =item * Changing handler behaviour: eating arguments (C<:Args>)
 
-Args is not an action type per se, but an action modifier - it adds a
+C<:Args> is not an action type per se, but an action modifier - it adds a
 match restriction to any action it's provided to, additionally
 requiring as many path parts as are specified for the action to be
 matched. For example, in MyApp::Controller::Foo,
@@ -891,13 +891,13 @@ would match any URL starting /foo/bar. To restrict this you can do
 to only match URLs starting /foo/bar/* - with one additional path
 element required after 'bar'.
 
-NOTE that adding C<:Args(0)> and missing out :Args completely are B<not>
+NOTE that adding C<:Args(0)> and omitting C<:Args> are B<not>
 the same thing.
 
 C<:Args(0)> means that no arguments are taken.  Thus, the URL and path must
 match precisely.
 
-No :Args at all means that B<any number> of arguments are taken.  Thus, any
+No C<:Args> at all means that B<any number> of arguments are taken.  Thus, any
 URL that B<starts with> the controller's path will match. Obviously, this means
 you cannot chain from an action that does not specify args, as the next action
 in the chain will be swallowed as an arg to the first!
@@ -910,7 +910,7 @@ and nothing else.
 
 C<Path> actions without a leading forward slash match a specified path
 relative to their current namespace. This example matches URLs
-starting http://localhost:3000/my/controller/foo/bar :
+starting with C<http://localhost:3000/my/controller/foo/bar>:
 
     package MyApp::Controller::My::Controller;
     sub bar : Path('foo/bar') { }
@@ -921,7 +921,7 @@ match from the start of the URL path. Example:
     package MyApp::Controller::My::Controller;
     sub bar : Path('/foo/bar') { }
 
-This matches URLs beginning http://localhost:3000/foo/bar.
+This matches URLs beginning with C<http://localhost:3000/foo/bar>.
 
 Empty C<Path> definitions match on the namespace only, exactly like
 C<:Global>.
@@ -929,7 +929,7 @@ C<:Global>.
     package MyApp::Controller::My::Controller;
     sub bar : Path { }
 
-The above code matches http://localhost:3000/my/controller.
+The above code matches C<http://localhost:3000/my/controller>.
 
 Actions with the C<:Local> attribute are similarly equivalent to
 C<:Path('action_name')>:
@@ -940,18 +940,22 @@ is equivalent to
 
     sub foo : Path('foo') { }
 
-=item * Pattern-match (C<:Regex> and C<:LocalRegex>)
+=item * Pattern match (C<:Regex> and C<:LocalRegex>)
+
+B<Status: deprecated.> Use Chained methods or other techniques.
+If you really depend on this, install the standalone
+L<Catalyst::DispatchType::Regex> distribution.
 
     package MyApp::Controller::My::Controller;
     sub bar : Regex('^item(\d+)/order(\d+)$') { }
 
 This matches any URL that matches the pattern in the action key, e.g.
-http://localhost:3000/item23/order42. The '' around the regexp is
+C<http://localhost:3000/item23/order42>. The '' around the regexp is
 optional, but perltidy likes it. :)
 
 C<:Regex> matches act globally, i.e. without reference to the namespace
 from which they are called.  So the above will B<not> match
-http://localhost:3000/my/controller/item23/order42 - use a
+C<http://localhost:3000/my/controller/item23/order42> - use a
 C<:LocalRegex> action instead.
 
     package MyApp::Controller::My::Controller;
@@ -959,7 +963,7 @@ C<:LocalRegex> action instead.
 
 C<:LocalRegex> actions act locally, i.e. the namespace is matched
 first. The above example would match urls like
-http://localhost:3000/my/controller/widget23.
+C<http://localhost:3000/my/controller/widget23>.
 
 If you omit the "C<^>" from either sort of regex, then it will match any depth
 from the base path:
@@ -968,7 +972,7 @@ from the base path:
     sub bar : LocalRegex('widget(\d+)$') { }
 
 This differs from the previous example in that it will match
-http://localhost:3000/my/controller/foo/widget23 - and a number of
+C<http://localhost:3000/my/controller/foo/widget23> - and a number of
 other paths.
 
 For both C<:LocalRegex> and C<:Regex> actions, if you use capturing
@@ -967,7 +967,7 @@ Next, we should re-run the DBIC helper to update the Result Classes with
 the new fields:
 
     $ script/myapp_create.pl model DB DBIC::Schema MyApp::Schema \
-        create=static component=TimeStamp dbi:SQLite:myapp.db \
+        create=static components=TimeStamp dbi:SQLite:myapp.db \
         on_connect_do="PRAGMA foreign_keys = ON"
      exists "/home/catalyst/dev/MyApp/script/../lib/MyApp/Model"
      exists "/home/catalyst/dev/MyApp/script/../t"
@@ -130,7 +130,7 @@ C<create=static> option on the DBIC model helper to do most of the work
 for us:
 
     $ script/myapp_create.pl model DB DBIC::Schema MyApp::Schema \
-        create=static component=TimeStamp dbi:SQLite:myapp.db \
+        create=static components=TimeStamp dbi:SQLite:myapp.db \
         on_connect_do="PRAGMA foreign_keys = ON"
      exists "/home/catalyst/dev/MyApp/script/../lib/MyApp/Model"
      exists "/home/catalyst/dev/MyApp/script/../t"
@@ -619,7 +619,7 @@ generates for us.  Simply use the same command we saw in Chapters 3 and
 4, but add C<,PassphraseColumn> to the C<components> argument:
 
     $ script/myapp_create.pl model DB DBIC::Schema MyApp::Schema \
-        create=static component=TimeStamp,PassphraseColumn dbi:SQLite:myapp.db \
+        create=static components=TimeStamp,PassphraseColumn dbi:SQLite:myapp.db \
         on_connect_do="PRAGMA foreign_keys = ON"
 
 If you then open one of the Result Classes, you will see that it
@@ -929,7 +929,7 @@ for C<list> from:
 
 to:
 
-    sub list :Chained('base') :PathParth('list') :Args(0) {
+    sub list :Chained('base') :PathPart('list') :Args(0) {
 
 Finally, let's clean up the status/error message code in our wrapper
 template.  Edit C<root/src/wrapper.tt2> and change the "content" div
@@ -360,7 +360,7 @@ Generate the model using the Catalyst "_create.pl" script:
 
     $ rm lib/MyApp/Model/DB.pm   # Delete just in case already there
     $ script/myapp_create.pl model DB DBIC::Schema MyApp::Schema \
-        create=static component=TimeStamp,PassphraseColumn \
+        create=static components=TimeStamp,PassphraseColumn \
         'dbi:Pg:dbname=catappdb' 'catappuser' 'catalyst' '{ AutoCommit => 1 }'
 
 =back
@@ -382,7 +382,7 @@ Add Datetime Columns to Our Existing Books Table
 Re-generate the model using the Catalyst "_create.pl" script:
 
     $ script/myapp_create.pl model DB DBIC::Schema MyApp::Schema \
-        create=static component=TimeStamp,PassphraseColumn \
+        create=static components=TimeStamp,PassphraseColumn \
         'dbi:Pg:dbname=catappdb' 'catappuser' 'catalyst' '{ AutoCommit => 1 }'
 
 
@@ -810,7 +810,7 @@ Update the model:
 Regenerate the model using the Catalyst "_create.pl" script:
 
     script/myapp_create.pl model DB DBIC::Schema MyApp::Schema create=static \
-	component=TimeStamp,PassphraseColumn dbi:mysql:myapp 'tutorial' 'yourpassword' '{ AutoCommit => 1 }'
+	components=TimeStamp,PassphraseColumn dbi:mysql:myapp 'tutorial' 'yourpassword' '{ AutoCommit => 1 }'
 
 =back
 
@@ -6,7 +6,7 @@ package Catalyst::Manual;
 use strict;
 use warnings;
 
-our $VERSION = '5.9008';
+our $VERSION = '5.9009';
 
 =head1 NAME