Declare::Constraints::Simple::Library::OO - OO Constraints
Contents
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.
License And Copyright
This module is free software, you can redistribute it and/or modify it under the same terms as perl
itself.
perl v5.32.0 2021-01-09 Declare::Const...le::Library::OO(3pm)
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');
