Skip to content

Commit

Permalink
is_ implies boolean, assert is convention for do_or_die
Browse files Browse the repository at this point in the history
  • Loading branch information
mateu committed Sep 15, 2011
1 parent b1728dd commit 65c1d06
Showing 1 changed file with 20 additions and 20 deletions.
40 changes: 20 additions & 20 deletions lib/MooX/Types/MooseLike.pm
Expand Up @@ -9,80 +9,80 @@ use base qw(Exporter);
our @EXPORT =
qw(Num Int Bool ArrayRef HashRef CodeRef RegexpRef GlobRef AHRef NoRef);

quote_sub 'MooX::Types::MooseLike::is_Num' => q{
quote_sub 'MooX::Types::MooseLike::assert_Num' => q{
die "$_[0] is not a Number!" unless Scalar::Util::looks_like_number($_[0]);
};

sub Num {
__PACKAGE__->can('is_Num');
__PACKAGE__->can('assert_Num');
}

quote_sub 'MooX::Types::MooseLike::is_Int' => q{
quote_sub 'MooX::Types::MooseLike::assert_Int' => q{
die "$_[0] is not an Integer!" unless ((Scalar::Util::looks_like_number($_[0])) && ($_[0] == int $_[0]));
};

sub Int {
__PACKAGE__->can('is_Int');
__PACKAGE__->can('assert_Int');
}

quote_sub 'MooX::Types::MooseLike::is_Bool' => q{
quote_sub 'MooX::Types::MooseLike::assert_Bool' => q{
die "$_[0] is not a Boolean" if ($_[0] != 0 && $_[0] != 1);
};

sub Bool {
__PACKAGE__->can('is_Bool');
__PACKAGE__->can('assert_Bool');
}

quote_sub 'MooX::Types::MooseLike::is_ArrayRef' =>
quote_sub 'MooX::Types::MooseLike::assert_ArrayRef' =>
q{ die "$_[0] is not an ArrayRef!" if ref($_[0]) ne 'ARRAY' };

sub ArrayRef {
__PACKAGE__->can('is_ArrayRef');
__PACKAGE__->can('assert_ArrayRef');
}

quote_sub 'MooX::Types::MooseLike::is_HashRef' =>
quote_sub 'MooX::Types::MooseLike::assert_HashRef' =>
q{ die "$_[0] is not a HashRef!" if ref($_[0]) ne 'HASH' };

sub HashRef {
__PACKAGE__->can('is_HashRef');
__PACKAGE__->can('assert_HashRef');
}

quote_sub 'MooX::Types::MooseLike::is_CodeRef' =>
quote_sub 'MooX::Types::MooseLike::assert_CodeRef' =>
q{ die "$_[0] is not a CodeRef!" if ref($_[0]) ne 'CODE' };

sub CodeRef {
__PACKAGE__->can('is_CodeRef');
__PACKAGE__->can('assert_CodeRef');
}

quote_sub 'MooX::Types::MooseLike::is_RegexpRef' =>
quote_sub 'MooX::Types::MooseLike::assert_RegexpRef' =>
q{ die "$_[0] is not a RegexpRef!" if ref($_[0]) ne 'Regexp' };

sub RegexpRef {
__PACKAGE__->can('is_RegexpRef');
__PACKAGE__->can('assert_RegexpRef');
}

quote_sub 'MooX::Types::MooseLike::is_GlobRef' =>
quote_sub 'MooX::Types::MooseLike::assert_GlobRef' =>
q{ die "$_[0] is not a GlobRef!" if ref($_[0]) ne 'GLOB' };

sub GlobRef {
__PACKAGE__->can('is_GlobRef');
__PACKAGE__->can('assert_GlobRef');
}

quote_sub 'MooX::Types::MooseLike::is_AHRef' => q{
quote_sub 'MooX::Types::MooseLike::assert_AHRef' => q{
die "$_[0] is not an ArrayRef[HashRef]!"
if ( (ref($_[0]) ne 'ARRAY') || (!$_[0]->[0]) || ( List::Util::first { ref($_) ne 'HASH' } @{$_[0]} ) )
};

sub AHRef {
__PACKAGE__->can('is_AHRef');
__PACKAGE__->can('assert_AHRef');
}

quote_sub 'MooX::Types::MooseLike::is_NoRef' => q{
quote_sub 'MooX::Types::MooseLike::assert_NoRef' => q{
die "$_[0] is a reference" if ref($_[0])
};

sub NoRef {
__PACKAGE__->can('is_NoRef');
__PACKAGE__->can('assert_NoRef');
}

1;
Expand Down

0 comments on commit 65c1d06

Please sign in to comment.