[Moose-commits] r7912 - MooseX-Dependent/trunk/lib/MooseX/Types

jnapiorkowski at code2.0beta.co.uk jnapiorkowski at code2.0beta.co.uk
Sat Apr 11 01:26:14 GMT 2009


Author: jnapiorkowski
Date: 2009-04-10 18:26:14 -0700 (Fri, 10 Apr 2009)
New Revision: 7912

Added:
   MooseX-Dependent/trunk/lib/MooseX/Types/Types.pm
Removed:
   MooseX-Dependent/trunk/lib/MooseX/Types/Dependent.pm
Log:
renamed file

Deleted: MooseX-Dependent/trunk/lib/MooseX/Types/Dependent.pm
===================================================================
--- MooseX-Dependent/trunk/lib/MooseX/Types/Dependent.pm	2009-04-10 23:11:59 UTC (rev 7911)
+++ MooseX-Dependent/trunk/lib/MooseX/Types/Dependent.pm	2009-04-11 01:26:14 UTC (rev 7912)
@@ -1,152 +0,0 @@
-package MooseX::Types::Dependent;
-
-use 5.008;
-
-use Moose::Util::TypeConstraints;
-use MooseX::Meta::TypeConstraint::Dependent;
-use MooseX::Types -declare => [qw(Depending)];
-
-our $VERSION = '0.01';
-our $AUTHORITY = 'cpan:JJNAPIORK';
-
-=head1 NAME
-
-MooseX::Types::Dependent - L<MooseX::Types> constraints that depend on values.
-
-=head1 SYNOPSIS
-
-    subtype UniqueInt,
-      as Depending[
-        Int,
-        sub {
-          shift->exists(shift) ? 0:1;
-        },
-        Set,
-      ];
-
-    subtype UniqueInt,
-      as Depending {
-        shift->exists(shift) ? 0:1;        
-      } [Int, Set];
-
-Please see the test cases for more examples.
-
-=head1 DEFINITIONS
-
-The following is a list of terms used in this documentation.
-
-=head2 Dependent Type Constraint
-
-=head2 Check Value
-
-=head2 Constraining Type Constraint
-
-=head2 Constraining Value
-
-=head1 DESCRIPTION
-
-A dependent type is a type constraint whose validity is dependent on a second
-value.  You defined the dependent type constraint with a primary type constraint
-(such as 'Int') a 'constraining' value type constraint (such as a Set object)
-and a coderef which will compare the incoming value to be checked with a value
-that conforms to the constraining type constraint.  Typically there should be a
-comparision operator between the check value and the constraining value
-
-=head2 Subtyping a Dependent type constraints
-
-TDB: Need discussion and examples.
-
-=head2 Coercions
-
-TBD: Need discussion and example of coercions working for both the
-constrainted and dependent type constraint.
-
-=head2 Recursion
-
-Newer versions of L<MooseX::Types> support recursive type constraints.  That is
-you can include a type constraint as a contained type constraint of itself.
-Recursion is support in both the dependent and constraining type constraint. For
-example:
-
-=head1 TYPE CONSTRAINTS
-
-This type library defines the following constraints.
-
-=head2 Depending[$dependent_tc, $codref, $constraining_tc]
-
-Create a subtype of $dependent_tc that is constrainted by a value that is a
-valid $constraining_tc using $coderef.  For example:
-
-    subtype GreaterThanInt,
-      as Depending[
-        Int,
-        sub {
-          my($constraining_value, $check_value) = @_;
-          return $constraining_value > $check_value ? 1:0;
-        },
-        Int,
-      ];
-
-Note that the coderef is passed the constraining value and the check value as an
-Array NOT an ArrayRef.
-
-This would create a type constraint that takes an integer and checks it against
-a second integer, requiring that the check value is greater.  For example:
-
-    GreaterThanInt->check([5,10]);  ## Fails, 5 is less than 10
-    GreaterThanInt->check(['a',10]); ## Fails, 'a' is not an Int.
-    GreaterThanInt->check([5,'b']); ## Fails, 'b' is not an Int either.
-    GreaterThanInt->check([10,5]); ## Success, 10 is greater than 5.
-
-=head1 EXAMPLES
-
-Here are some additional example usage for structured types.  All examples can
-be found also in the 't/examples.t' test.  Your contributions are also welcomed.
-
-TBD
-
-=cut
-
-Moose::Util::TypeConstraints::get_type_constraint_registry->add_type_constraint(
-    MooseX::Meta::TypeConstraint::Dependent->new(
-        name => "MooseX::Types::Dependent::Depending" ,
-        parent => find_type_constraint('ArrayRef'),
-        constraint_generator=> sub { 
-			my ($dependent_val, $callback, $constraining_val) = @_;
-			return $callback->($dependent_val, $constraining_val);
-        },
-    )
-);
-
-=head1 SEE ALSO
-
-The following modules or resources may be of interest.
-
-L<Moose>, L<MooseX::Types>, L<Moose::Meta::TypeConstraint>,
-L<MooseX::Meta::TypeConstraint::Dependent>
-
-=head1 TODO
-
-Here's a list of stuff I would be happy to get volunteers helping with:
-
-=over 4
-
-=item Examples
-
-Examples of useful code with both POD and ideally a test case to show it
-working.
-
-=back
-
-=head1 AUTHOR
-
-John Napiorkowski, C<< <jjnapiork at cpan.org> >>
-
-=head1 COPYRIGHT & LICENSE
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut
-
-1;

Copied: MooseX-Dependent/trunk/lib/MooseX/Types/Types.pm (from rev 7909, MooseX-Dependent/trunk/lib/MooseX/Types/Dependent.pm)
===================================================================
--- MooseX-Dependent/trunk/lib/MooseX/Types/Types.pm	                        (rev 0)
+++ MooseX-Dependent/trunk/lib/MooseX/Types/Types.pm	2009-04-11 01:26:14 UTC (rev 7912)
@@ -0,0 +1,152 @@
+package MooseX::Types::Dependent;
+
+use 5.008;
+
+use Moose::Util::TypeConstraints;
+use MooseX::Meta::TypeConstraint::Dependent;
+use MooseX::Types -declare => [qw(Depending)];
+
+our $VERSION = '0.01';
+our $AUTHORITY = 'cpan:JJNAPIORK';
+
+=head1 NAME
+
+MooseX::Types::Dependent - L<MooseX::Types> constraints that depend on values.
+
+=head1 SYNOPSIS
+
+    subtype UniqueInt,
+      as Depending[
+        Int,
+        sub {
+          shift->exists(shift) ? 0:1;
+        },
+        Set,
+      ];
+
+    subtype UniqueInt,
+      as Depending {
+        shift->exists(shift) ? 0:1;        
+      } [Int, Set];
+
+Please see the test cases for more examples.
+
+=head1 DEFINITIONS
+
+The following is a list of terms used in this documentation.
+
+=head2 Dependent Type Constraint
+
+=head2 Check Value
+
+=head2 Constraining Type Constraint
+
+=head2 Constraining Value
+
+=head1 DESCRIPTION
+
+A dependent type is a type constraint whose validity is dependent on a second
+value.  You defined the dependent type constraint with a primary type constraint
+(such as 'Int') a 'constraining' value type constraint (such as a Set object)
+and a coderef which will compare the incoming value to be checked with a value
+that conforms to the constraining type constraint.  Typically there should be a
+comparision operator between the check value and the constraining value
+
+=head2 Subtyping a Dependent type constraints
+
+TDB: Need discussion and examples.
+
+=head2 Coercions
+
+TBD: Need discussion and example of coercions working for both the
+constrainted and dependent type constraint.
+
+=head2 Recursion
+
+Newer versions of L<MooseX::Types> support recursive type constraints.  That is
+you can include a type constraint as a contained type constraint of itself.
+Recursion is support in both the dependent and constraining type constraint. For
+example:
+
+=head1 TYPE CONSTRAINTS
+
+This type library defines the following constraints.
+
+=head2 Depending[$dependent_tc, $codref, $constraining_tc]
+
+Create a subtype of $dependent_tc that is constrainted by a value that is a
+valid $constraining_tc using $coderef.  For example:
+
+    subtype GreaterThanInt,
+      as Depending[
+        Int,
+        sub {
+          my($constraining_value, $check_value) = @_;
+          return $constraining_value > $check_value ? 1:0;
+        },
+        Int,
+      ];
+
+Note that the coderef is passed the constraining value and the check value as an
+Array NOT an ArrayRef.
+
+This would create a type constraint that takes an integer and checks it against
+a second integer, requiring that the check value is greater.  For example:
+
+    GreaterThanInt->check([5,10]);  ## Fails, 5 is less than 10
+    GreaterThanInt->check(['a',10]); ## Fails, 'a' is not an Int.
+    GreaterThanInt->check([5,'b']); ## Fails, 'b' is not an Int either.
+    GreaterThanInt->check([10,5]); ## Success, 10 is greater than 5.
+
+=head1 EXAMPLES
+
+Here are some additional example usage for structured types.  All examples can
+be found also in the 't/examples.t' test.  Your contributions are also welcomed.
+
+TBD
+
+=cut
+
+Moose::Util::TypeConstraints::get_type_constraint_registry->add_type_constraint(
+    MooseX::Meta::TypeConstraint::Dependent->new(
+        name => "MooseX::Types::Dependent::Depending" ,
+        parent => find_type_constraint('ArrayRef'),
+        constraint_generator=> sub { 
+			my ($dependent_val, $callback, $constraining_val) = @_;
+			return $callback->($dependent_val, $constraining_val);
+        },
+    )
+);
+
+=head1 SEE ALSO
+
+The following modules or resources may be of interest.
+
+L<Moose>, L<MooseX::Types>, L<Moose::Meta::TypeConstraint>,
+L<MooseX::Meta::TypeConstraint::Dependent>
+
+=head1 TODO
+
+Here's a list of stuff I would be happy to get volunteers helping with:
+
+=over 4
+
+=item Examples
+
+Examples of useful code with both POD and ideally a test case to show it
+working.
+
+=back
+
+=head1 AUTHOR
+
+John Napiorkowski, C<< <jjnapiork at cpan.org> >>
+
+=head1 COPYRIGHT & LICENSE
+
+This program is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;


Property changes on: MooseX-Dependent/trunk/lib/MooseX/Types/Types.pm
___________________________________________________________________
Name: svn:mergeinfo
   + 




More information about the Moose-commits mailing list