Declare::Constraints::Simple::Library::Exportable(3p)

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.