X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FComponent.pm;h=01e38f59755977f21790ee016d38de7561fe823c;hp=0952b768f7ea1a66e1e796e5561565f8cd161802;hb=f4d7cf1e0b763ba80f83a4c48edf7173ad250a46;hpb=5e7e6b272a9e1b8bf1c401dd3a607fc851c43cc7 diff --git a/lib/Catalyst/Component.pm b/lib/Catalyst/Component.pm index 0952b76..01e38f5 100644 --- a/lib/Catalyst/Component.pm +++ b/lib/Catalyst/Component.pm @@ -289,6 +289,14 @@ And in a controller: my $type = $c->model('FooFactory', 1,2,3,4): # $type->isa('Type1') +B If you define a ACCEPT_CONTEXT method it MUST check to see if the +second argument is blessed (is a context) or not (is an application class name) and +it MUST return something valid for the case when the scope is application. This is +required because a component maybe be called from the application scope even if it +requires a context and you must prevent errors from being issued if this happens. +Remeber not all components that ACCEPT_CONTEXT actually need or use context information +(and there is a school of thought that suggestions doing so is a design error anyway...) + =head1 SEE ALSO L, L, L, L.