File Coverage

blib/lib/CXC/Form/Tiny/Plugin/OptArgs2.pm
Criterion Covered Total %
statement 29 29 100.0
branch n/a
condition n/a
subroutine 8 8 100.0
pod 1 1 100.0
total 38 38 100.0


line stmt bran cond sub pod time code
1             package CXC::Form::Tiny::Plugin::OptArgs2;
2              
3             # ABSTRACT: A Plugin to interface Form::Tiny with OptArgs2
4              
5 5     5   2187471 use v5.20;
  5         58  
6              
7 5     5   33 use warnings;
  5         31  
  5         172  
8 5     5   34 use experimental 'signatures', 'postderef';
  5         14  
  5         54  
9              
10             our $VERSION = '0.09';
11              
12 5     5   1309 use parent 'Form::Tiny::Plugin';
  5         23  
  5         54  
13              
14             ## no critic (Subroutines::ProtectPrivateSubs)
15              
16 15     15 1 394025 sub plugin ( $self, $caller, $context ) {
  15         43  
  15         31  
  15         27  
  15         29  
17             return {
18 29         124 roles => [ q{CXC::Form::Tiny::Plugin::OptArgs2::Class}, ],
19             meta_roles => [ q{CXC::Form::Tiny::Plugin::OptArgs2::Meta}, ],
20             subs => {
21 29     29   42 option => sub ( @options ) {
  29         299  
22 29         114 $caller->form_meta->_dsl_add_option( $context->$*, @options );
23             },
24              
25 4     4   6 argument => sub ( @options ) {
  4         42  
  4         18  
26 4         57 $caller->form_meta->_dsl_add_argument( $context->$*, @options );
27             },
28              
29 6     6   11 optargs_opts => sub ( @options ) {
  6         168096  
  6         18  
30 6         36 $caller->form_meta->_dsl_optargs_opts( $context->$*, @options );
31             },
32              
33             },
34              
35 15         238 };
36             }
37              
38             #
39             # This file is part of CXC-Form-Tiny-Plugin-OptArgs2
40             #
41             # This software is Copyright (c) 2023 by Smithsonian Astrophysical Observatory.
42             #
43             # This is free software, licensed under:
44             #
45             # The GNU General Public License, Version 3, June 2007
46             #
47              
48             1;
49              
50             __END__