logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Declare::Constraints::Simple::Library::OO - OO Constraints

Author

       Robert 'phaylon' Sedlacek "<phaylon@dunkelheit.at>"

Constraints

HasMethods(@methods)
       Returns true if the value is an object or class that "can" all the specified @methods.

       The stack or path part of "HasMethods" looks like "HasMethods[$method]" where $method is the first found
       missing method.

   IsA(@classes)
       Is true if the passed object or class is a subclass of one of the classes mentioned in @classes.

   IsClass()
       Valid if value is a loaded class.

   IsObject()
       True if the value is blessed.

Description

       This library contains the constraints for validating parameters in an object oriented manner.

Name

       Declare::Constraints::Simple::Library::OO - OO Constraints

See Also

       Declare::Constraints::Simple, Declare::Constraints::Simple::Library

Synopsis

         # accept objects or classes
         my $object_or_class = Or( IsObject, IsClass );

         # valid on objects with all methods
         my $proper_object = And( IsObject,
                                  HasMethods( qw(foo bar) ));

         # validate against date objects
         my $is_date_object = IsA('DateTime');

See Also