Perinci::Object::Function(3pm) | User Contributed Perl Documentation | Perinci::Object::Function(3pm) |
NAME¶
Perinci::Object::Function - Represent function metadataVERSION¶
This document describes version 0.310 of Perinci::Object::Function (from Perl distribution Perinci-Object), released on 2018-10-18.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->default_dry_run => BOOL¶
Starting from Rinci 1.1.83, the "dry_run" feature property can be a hash instead of a bool, and can contain this pair "default=>1" to specify that dry-run mode should be the default operation (e.g. for safety).$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.
SEE ALSO¶
Perinci::ObjectAUTHOR¶
perlancar <perlancar@cpan.org>COPYRIGHT AND LICENSE¶
This software is copyright (c) 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011 by perlancar@cpan.org.This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
2018-11-25 | perl v5.28.0 |