fix spelling, whitespace, unused vars release test failures
[gitmo/MooseX-Types-Common.git] / lib / MooseX / Types / Common / Numeric.pm
index 17127a2..5336fed 100644 (file)
 package MooseX::Types::Common::Numeric;
+# ABSTRACT: Commonly used numeric types
 
 use strict;
 use warnings;
 
-our $VERSION = '0.001000';
-
 use MooseX::Types -declare => [
-  qw(PositiveNum PositiveInt NegativeNum NegativeInt SingleDigit)
+  qw(PositiveNum PositiveOrZeroNum
+     PositiveInt PositiveOrZeroInt
+     NegativeNum NegativeOrZeroNum
+     NegativeInt NegativeOrZeroInt
+     SingleDigit)
 ];
 
 use MooseX::Types::Moose qw/Num Int/;
 
 subtype PositiveNum,
   as Num,
+  where { $_ > 0 },
+  message { "Must be a positive number" },
+    ( $Moose::VERSION >= 2.0200
+        ? inline_as {
+            $_[0]->parent()->_inline_check( $_[1] ) . ' && '
+                . qq{ ($_[1] > 0) };
+        }
+        : ()
+    );
+
+subtype PositiveOrZeroNum,
+  as Num,
   where { $_ >= 0 },
-  message { "Must be a positive number" };
+  message { "Must be a number greater than or equal to zero" },
+    ( $Moose::VERSION >= 2.0200
+        ? inline_as {
+            $_[0]->parent()->_inline_check( $_[1] ) . ' && '
+                . qq{ ($_[1] >= 0) };
+        }
+        : ()
+    );
 
 subtype PositiveInt,
   as Int,
+  where { $_ > 0 },
+  message { "Must be a positive integer" },
+    ( $Moose::VERSION >= 2.0200
+        ? inline_as {
+            $_[0]->parent()->_inline_check( $_[1] ) . ' && '
+                . qq{ ($_[1] > 0) };
+        }
+        : ()
+    );
+
+subtype PositiveOrZeroInt,
+  as Int,
   where { $_ >= 0 },
-  message { "Must be a positive integer" };
+  message { "Must be an integer greater than or equal to zero" },
+    ( $Moose::VERSION >= 2.0200
+        ? inline_as {
+            $_[0]->parent()->_inline_check( $_[1] ) . ' && '
+                . qq{ ($_[1] >= 0) };
+        }
+        : ()
+    );
 
 subtype NegativeNum,
   as Num,
+  where { $_ < 0 },
+  message { "Must be a negative number" },
+    ( $Moose::VERSION >= 2.0200
+        ? inline_as {
+            $_[0]->parent()->_inline_check( $_[1] ) . ' && '
+                . qq{ ($_[1] < 0) };
+        }
+        : ()
+    );
+
+subtype NegativeOrZeroNum,
+  as Num,
   where { $_ <= 0 },
-  message { "Must be a negative number" };
+  message { "Must be a number less than or equal to zero" },
+    ( $Moose::VERSION >= 2.0200
+        ? inline_as {
+            $_[0]->parent()->_inline_check( $_[1] ) . ' && '
+                . qq{ ($_[1] <= 0) };
+        }
+        : ()
+    );
 
 subtype NegativeInt,
   as Int,
+  where { $_ < 0 },
+  message { "Must be a negative integer" },
+    ( $Moose::VERSION >= 2.0200
+        ? inline_as {
+            $_[0]->parent()->_inline_check( $_[1] ) . ' && '
+                . qq{ ($_[1] < 0) };
+        }
+        : ()
+    );
+
+subtype NegativeOrZeroInt,
+  as Int,
   where { $_ <= 0 },
-  message { "Must be a negative integer" };
+  message { "Must be an integer less than or equal to zero" },
+    ( $Moose::VERSION >= 2.0200
+        ? inline_as {
+            $_[0]->parent()->_inline_check( $_[1] ) . ' && '
+                . qq{ ($_[1] <= 0) };
+        }
+        : ()
+    );
 
 subtype SingleDigit,
   as PositiveInt,
   where { $_ <= 9 },
-  message { "Must be a single digit" };
-
+  message { "Must be a single digit" },
+    ( $Moose::VERSION >= 2.0200
+        ? inline_as {
+            $_[0]->parent()->_inline_check( $_[1] ) . ' && '
+                . qq{ ($_[1] <= 9) };
+        }
+        : ()
+    );
 
 1;
 
-__END__;
-
+__END__
 
-=head1 NAME
-
-MooseX::Types::Common::Numeric
+=pod
 
 =head1 SYNOPSIS
 
@@ -62,15 +144,23 @@ default.
 
 =over
 
-=item * PositiveNum
+=item * C<PositiveNum>
+
+=item * C<PositiveOrZeroNum>
+
+=item * C<PositiveInt>
+
+=item * C<PositiveOrZeroInt>
 
-=item * PositiveInt
+=item * C<NegativeNum>
 
-=item * NegativeNum
+=item * C<NegativeOrZeroNum>
 
-=item * Int
+=item * C<NegativeInt>
 
-=item * SingleDigit
+=item * C<NegativeOrZeroInt>
+
+=item * C<SingleDigit>
 
 =back
 
@@ -82,8 +172,4 @@ default.
 
 =back
 
-=head1 AUTHORS
-
-Please see:: L<MooseX::Types::Common>
-
 =cut