Declare::Constraints::Simple::Library::Exportable - Export Facilities


NAME

Declare::Constraints::Simple::Library::Exportable - Export Facilities


DESCRIPTION

This contains the constraint export logic of the module.


METHODS

import($flag, @args)

  use ExportableModule->All;
  # or
  use ExportableModule-Only => qw(Constraint1 ...);
  # or
  use ExportableModule-Library;

Exports the constraints to the calling namespace. This includes all libraries in the Declare::Constraints::Simple::Library manpage, that package itself (providing all default constraints) or the Declare::Constraints::Simple manpage itself as a shortcut.

Possible flags are

All

Imports all constraints registered in the class and its base classes.

Only
  use Declare::Constraints::Simple::Library::Scalar-Only => 'HasLength';

The above line would only import the HasLength constraints from the Scalar default library. Note however, that you could also just have said

  use Declare::Constraints::Simple-Only => 'HasLength';

as both ::Simple and ::Simple::Library work on all default libraries.

Library

You can use this to define your own constraint library. For more information, see the Declare::Constraints::Simple::Library::Base manpage.

_build_handle_map()

Internal method to build constraint-to-class mappings.

_export_all($target, $handle_map)

Internal method. Exports all handles in $handle_map into the $target namespace.

_export_these($target, $handle_map, @constraints)

Internal method. Exports all @constraints from $handle_map into the $target namespace.


SEE ALSO

the Declare::Constraints::Simple manpage, the Declare::Constraints::Simple::Library manpage, the Declare::Constraints::Simple::Library::Base manpage


AUTHOR

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


LICENSE AND COPYRIGHT

This module is free software, you can redistribute it and/or modify it under the same terms as perl itself.