X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FActionChain.pm;h=0b58602c72e2d5d90753355876dbbcad15ea8c11;hp=fc39f0974bc3d4b87e19b7cbd4310c1f3315efc2;hb=342d21698a97962c51114b6ebc6bb8626511cfc6;hpb=e8361cf8fc1d23adf4a14a81726477c48a80449e diff --git a/lib/Catalyst/ActionChain.pm b/lib/Catalyst/ActionChain.pm index fc39f09..0b58602 100644 --- a/lib/Catalyst/ActionChain.pm +++ b/lib/Catalyst/ActionChain.pm @@ -61,6 +61,22 @@ sub number_of_captures { return $captures; } +# the scheme defined at the end of the chain is the one we use +# but warn if too many. + +sub scheme { + my $self = shift; + my @chain = @{ $self->chain }; + my ($scheme, @more) = map { + exists $_->attributes->{Scheme} ? $_->attributes->{Scheme}[0] : (); + } reverse @chain; + + warn "$self is a chain with two many Scheme attributes (only one is allowed)" + if @more; + + return $scheme; +} + __PACKAGE__->meta->make_immutable; 1; @@ -87,6 +103,10 @@ Catalyst::ActionChain object representing a chain of these actions Returns the total number of captures for the entire chain of actions. +=head2 scheme + +Any defined scheme for the actionchain + =head2 meta Provided by Moose