Scroll to navigation

Declare::Constraints::Simple::Library::Exportable(3pm) User Contributed Perl Documentation Declare::Constraints::Simple::Library::Exportable(3pm)

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 Declare::Constraints::Simple::Library, that package itself (providing all default constraints) or Declare::Constraints::Simple 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 Declare::Constraints::Simple::Library::Base.

_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

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

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.
2018-03-31 perl v5.26.1