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   2099113 use v5.20;
  5         57  
6              
7 5     5   33 use warnings;
  5         11  
  5         143  
8 5     5   29 use experimental 'signatures', 'postderef';
  5         11  
  5         44  
9              
10             our $VERSION = '0.08';
11              
12 5     5   1119 use parent 'Form::Tiny::Plugin';
  5         28  
  5         38  
13              
14             ## no critic (Subroutines::ProtectPrivateSubs)
15              
16 15     15 1 368668 sub plugin ( $self, $caller, $context ) {
  15         42  
  15         31  
  15         31  
  15         28  
17             return {
18 29         119 roles => [ q{CXC::Form::Tiny::Plugin::OptArgs2::Class}, ],
19             meta_roles => [ q{CXC::Form::Tiny::Plugin::OptArgs2::Meta}, ],
20             subs => {
21 29     29   47 option => sub ( @options ) {
  29         208  
22 29         111 $caller->form_meta->_dsl_add_option( $context->$*, @options );
23             },
24              
25 4     4   10 argument => sub ( @options ) {
  4         31  
  4         12  
26 4         34 $caller->form_meta->_dsl_add_argument( $context->$*, @options );
27             },
28              
29 6     6   10 optargs_opts => sub ( @options ) {
  6         162268  
  6         18  
30 6         23 $caller->form_meta->_dsl_optargs_opts( $context->$*, @options );
31             },
32              
33             },
34              
35 15         230 };
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__