Perinci::Object::function(3) Represent function metadata

VERSION

This document describes version 0.24 of Perinci::Object::Function (from Perl distribution Perinci-Object), released on 2015-09-03.

SYNOPSIS


use Perinci::Object;
$SPEC{foo} = {
v => 1.1,
args => { b => {schema=>'int', req=>0} },
features => {idempotent=>1},
};
my $risub = risub $SPEC{foo};
print $risub->feature('idempotent'), # 1
$risub->arg('b')->{req}, # 0
$risub->arg('a'); # undef

DESCRIPTION

This class provides an object-oriented interface for function metadata.

METHODS

new($meta) => OBJECT

Create a new object from $meta. If $meta is undef, creates an empty metadata.

$risub->type => str

Will return "function".

$risub->features => HASH

Return the "features" property.

$risub->feature(NAME[, VALUE])

Get or set named feature (features property in metadata). If a feature doesn't exist, undef will be returned.

$risub->can_dry_run => BOOL

Check whether function can do dry run, either from the "dry_run" feature, or from the "tx" feature. (Transaction can be used to emulate dry run, by calling the function with "-tx_action => 'check_state'" only.)

$risub->arg(NAME[, VALUE])

Get or set argument (args property in metadata). If an argument doesn't exist, undef will be returned.

HOMEPAGE

Please visit the project's homepage at <https://metacpan.org/release/Perinci-Object>.

SOURCE

Source repository is at <https://github.com/perlancar/perl-Perinci-Object>.

BUGS

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

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

perlancar <[email protected]>

COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by [email protected].

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