Steven Haryanto > Data-Sah > Data::Sah::Util::Role

Download:
Data-Sah-0.29.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.29   Source  

NAME ^

Data::Sah::Util::Role - Sah utility routines for roles

VERSION ^

This document describes version 0.29 of Data::Sah::Util::Role (from Perl distribution Data-Sah), released on 2014-06-30.

DESCRIPTION ^

This module provides some utility routines to be used in roles, e.g. Data::Sah::Type::* and Data::Sah::FuncSet::*.

FUNCTIONS ^

has_clause($name, %opts)

Define a clause. Used in type roles (Data::Sah::Type::*). Internally it adds a Moo requires for clause_$name.

Options:

Example:

 has_clause minimum => (arg => 'int*', aliases => 'min');

has_clause_alias TARGET => ALIAS | [ALIAS1, ...]

Specify that clause named ALIAS is an alias for TARGET.

You have to define TARGET clause first (see has_clause above).

Example:

 has_clause max_length => ...;
 has_clause_alias max_length => "max_len";

has_func($name, %opts)

Define a Sah function. Used in function set roles (Data::Sah::FuncSet::*). Internally it adds a Moo requires for func_$name.

Options:

Example:

 has_func abs => (args => 'num');

has_func_alias TARGET => ALIAS | [ALIASES...]

Specify that function named ALIAS is an alias for TARGET.

You have to specify TARGET function first (see has_func above).

Example:

 has_func_alias 'atan' => 'arctan';

HOMEPAGE ^

Please visit the project's homepage at https://metacpan.org/release/Data-Sah.

SOURCE ^

Source repository is at https://github.com/sharyanto/perl-Data-Sah.

BUGS ^

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Sah

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR ^

Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2014 by Steven Haryanto.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: