Perinci::Object::Function - Represent function metadata
Contents
Bugs
Please report any bugs or feature requests on the bugtracker website
<https://github.com/perlancar/perl-Perinci-Object/issues>
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.
Copyright And License
This software is copyright (c) 2021, 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.
perl v5.36.0 2022-10-13 Perinci::Object::Function(3pm)
Description
This class provides an object-oriented interface for function metadata.
Homepage
Please visit the project's homepage at <https://metacpan.org/release/Perinci-Object>.
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.
Name
Perinci::Object::Function - Represent function metadata
See Also
Perinci::Object
Source
Source repository is at <https://github.com/perlancar/perl-Perinci-Object>.
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
Version
This document describes version 0.311 of Perinci::Object::Function (from Perl distribution Perinci-
Object), released on 2020-01-02.
