[Moose-commits] r7455 - MooseX-Params-Validate/trunk/lib/MooseX/Params

autarch at code2.0beta.co.uk autarch at code2.0beta.co.uk
Sat Jan 31 22:26:15 GMT 2009


Author: autarch
Date: 2009-01-31 14:26:14 -0800 (Sat, 31 Jan 2009)
New Revision: 7455

Modified:
   MooseX-Params-Validate/trunk/lib/MooseX/Params/Validate.pm
Log:
Tidied all the code and docs


Modified: MooseX-Params-Validate/trunk/lib/MooseX/Params/Validate.pm
===================================================================
--- MooseX-Params-Validate/trunk/lib/MooseX/Params/Validate.pm	2009-01-31 21:16:15 UTC (rev 7454)
+++ MooseX-Params-Validate/trunk/lib/MooseX/Params/Validate.pm	2009-01-31 22:26:14 UTC (rev 7455)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Carp         'confess';
+use Carp 'confess';
 use Scalar::Util 'blessed';
 
 use Moose::Exporter;
@@ -15,10 +15,10 @@
 
 my %CACHED_PARAM_SPECS;
 
-
 Moose::Exporter->setup_import_methods( as_is => [qw( validate validatep )] );
 
 my $class = __PACKAGE__;
+
 sub validate {
     my ( $args, %params ) = @_;
 
@@ -145,8 +145,7 @@
         }
         else {
             $constraint
-                = Moose::Util::TypeConstraints::find_or_create_type_constraint
-                (
+                = Moose::Util::TypeConstraints::find_or_create_type_constraint(
                 $spec->{isa} => {
                     parent =>
                         Moose::Util::TypeConstraints::find_type_constraint(
@@ -172,8 +171,7 @@
         }
         else {
             $constraint
-                = Moose::Util::TypeConstraints::find_or_create_type_constraint
-                (
+                = Moose::Util::TypeConstraints::find_or_create_type_constraint(
                 $spec->{does} => {
                     parent =>
                         Moose::Util::TypeConstraints::find_type_constraint(
@@ -197,7 +195,7 @@
 sub _coerce_args {
     my ( $class, $args, $params ) = @_;
 
-    for my $k ( grep { $params->{$_}{coerce} } keys %{ $params } ) {
+    for my $k ( grep { $params->{$_}{coerce} } keys %{$params} ) {
         $args->{$k} = $params->{$k}{constraint}->coerce( $args->{$k} );
     }
 
@@ -218,37 +216,39 @@
   package Foo;
   use Moose;
   use MooseX::Params::Validate;
-  
+
   sub foo {
-      my ($self, %params) = validate(\@_, 
+      my ( $self, %params ) = validate(
+          \@_,
           bar => { isa => 'Str', default => 'Moose' },
       );
       return "Horray for $params{bar}!";
   }
-  
+
   sub bar {
       my $self = shift;
-      my ($foo, $baz, $gorch) = validatep(\@_, 
-          foo   => { isa => 'Foo' },                    
-          baz   => { isa => 'ArrayRef | HashRef', optional => 1 }      
-          gorch => { isa => 'ArrayRef[Int]', optional => 1 }                                  
+      my ( $foo, $baz, $gorch ) = validatep(
+          \@_,
+          foo   => { isa => 'Foo' },
+          baz   => { isa => 'ArrayRef | HashRef', optional => 1 },
+          gorch => { isa => 'ArrayRef[Int]', optional => 1 }
       );
       [ $foo, $baz, $gorch ];
   }
 
 =head1 DESCRIPTION
 
-This module fills a gap in Moose by adding method parameter validation 
-to Moose. This is just one of many developing options, it should not be 
-considered the "official" one by any means though. 
+This module fills a gap in Moose by adding method parameter validation
+to Moose. This is just one of many developing options, it should not
+be considered the "official" one by any means though.
 
-This is an early release of this module, and many things will likely 
+This is an early release of this module, and many things will likely
 change and get added, so watch out :)
 
 =head1 CAVEATS
 
-It is not possible to introspect the method parameter specs, they are 
-created as needed when the method is called and cached for subsequent 
+It is not possible to introspect the method parameter specs, they are
+created as needed when the method is called and cached for subsequent
 calls.
 
 =head1 EXPORTS
@@ -257,10 +257,11 @@
 
 =item B<validate (\@_, %parameter_spec)>
 
-This behaves similar to the standard Params::Validate C<validate> function
-and returns the captured values in a HASH. The one exception being that 
-if it spots an instance in the C<@_>, then it will handle it appropriately
-(unlike Params::Validate which forces you to shift you C<$self> first). 
+This behaves similar to the standard Params::Validate C<validate>
+function and returns the captured values in a HASH. The one exception
+being that if it spots an instance in the C<@_>, then it will handle
+it appropriately (unlike Params::Validate which forces you to shift
+you C<$self> first).
 
 The C<%parameter_spec> accepts the following options:
 
@@ -268,12 +269,13 @@
 
 =item I<isa>
 
-The C<isa> option can be either; class name, Moose type constraint name or
-an anon Moose type constraint.
+The C<isa> option can be either; class name, Moose type constraint
+name or an anon Moose type constraint.
 
 =item I<does>
 
-The C<does> option can be either; role name or an anon Moose type constraint.
+The C<does> option can be either; role name or an anon Moose type
+constraint.
 
 =item I<default>
 
@@ -281,8 +283,9 @@
 
 =item I<optional>
 
-As with Params::Validate, all options are considered required unless otherwise 
-specified. This option is passed directly to Params::Validate.
+As with Params::Validate, all options are considered required unless
+otherwise specified. This option is passed directly to
+Params::Validate.
 
 =item I<coerce>
 
@@ -292,53 +295,54 @@
 
 =back
 
-The plan is to support more options in the future as well. 
+The plan is to support more options in the future as well.
 
 =item B<validatep (\@_, %parameter_spec)>
 
-The C<%parameter_spec> accepts the same options as above, but returns the 
-parameters as positional values instead of a HASH. This is best explained 
-by example:
+The C<%parameter_spec> accepts the same options as above, but returns
+the parameters as positional values instead of a HASH. This is best
+explained by example:
 
   sub foo {
-      my ($self, $foo, $bar) = validatep(\@_, 
-          foo => { isa => 'Foo' },                    
-          bar => { isa => 'Bar' },        
+      my ( $self, $foo, $bar ) = validatep(
+          \@_,
+          foo => { isa => 'Foo' },
+          bar => { isa => 'Bar' },
       );
       $foo->baz($bar);
   }
 
-We capture the order in which you defined the parameters and then return 
-them as positionals in the same order. If a param is marked optional and 
-not included, then it will be set to C<undef>.
+We capture the order in which you defined the parameters and then
+return them as positionals in the same order. If a param is marked
+optional and not included, then it will be set to C<undef>.
 
 =back
 
 =head1 IMPORTANT NOTE ON CACHING
 
-When C<validate> or C<validatep> are called the first time, the parameter
-spec is prepared and cached to avoid unnecessary regeneration. It uses the
-fully qualified name of the subroutine (package + subname) as the cache key. 
-In 99.999% of the use cases for this module, that will be the right thing 
-to do.
+When C<validate> or C<validatep> are called the first time, the
+parameter spec is prepared and cached to avoid unnecessary
+regeneration. It uses the fully qualified name of the subroutine
+(package + subname) as the cache key.  In 99.999% of the use cases for
+this module, that will be the right thing to do.
 
-However, I have (ab)used this module occasionally to handle dynamic sets 
-of parameters. In this special use case you can do a couple things to 
-better control the caching behavior. 
+However, I have (ab)used this module occasionally to handle dynamic
+sets of parameters. In this special use case you can do a couple
+things to better control the caching behavior.
 
 =over 4
 
 =item *
 
-Passing in the C<MX_PARAMS_VALIDATE_NO_CACHE> flag in the parameter spec 
-this will prevent the parameter spec from being cached. To see an example 
-of this, take a look at F<t/003_nocache_flag.t>.
+Passing in the C<MX_PARAMS_VALIDATE_NO_CACHE> flag in the parameter
+spec this will prevent the parameter spec from being cached. To see an
+example of this, take a look at F<t/003_nocache_flag.t>.
 
 =item *
 
-Passing in C<MX_PARAMS_VALIDATE_CACHE_KEY> with a value to be used as the
-cache key will bypass the normal cache key generation. To see an example 
-of this, take a look at F<t/004_custom_cache_key.t>.
+Passing in C<MX_PARAMS_VALIDATE_CACHE_KEY> with a value to be used as
+the cache key will bypass the normal cache key generation. To see an
+example of this, take a look at F<t/004_custom_cache_key.t>.
 
 =back
 
@@ -360,9 +364,9 @@
 
 =head1 BUGS
 
-All complex software has bugs lurking in it, and this module is no 
-exception. If you find a bug please either email me, or add the bug
-to cpan-RT.
+All complex software has bugs lurking in it, and this module is no
+exception. If you find a bug please either email me, or add the bug to
+cpan-RT.
 
 =head1 AUTHOR
 




More information about the Moose-commits mailing list