1use strict;
2
3package HTML::FormFu::Role::GetProcessors;
4# ABSTRACT: processor getter roles
5$HTML::FormFu::Role::GetProcessors::VERSION = '2.07';
6use Moose::Role;
7
8use HTML::FormFu::Util qw(
9    _parse_args
10    _filter_components
11);
12
13sub get_deflators {
14    my $self = shift;
15    my %args = _parse_args(@_);
16
17    my @x = map { @{ $_->get_deflators(@_) } } @{ $self->_elements };
18
19    return _filter_components( \%args, \@x );
20}
21
22sub get_filters {
23    my $self = shift;
24    my %args = _parse_args(@_);
25
26    my @x = map { @{ $_->get_filters(@_) } } @{ $self->_elements };
27
28    return _filter_components( \%args, \@x );
29}
30
31sub get_constraints {
32    my $self = shift;
33    my %args = _parse_args(@_);
34
35    my @x = map { @{ $_->get_constraints(@_) } } @{ $self->_elements };
36
37    return _filter_components( \%args, \@x );
38}
39
40sub get_inflators {
41    my $self = shift;
42    my %args = _parse_args(@_);
43
44    my @x = map { @{ $_->get_inflators(@_) } } @{ $self->_elements };
45
46    return _filter_components( \%args, \@x );
47}
48
49sub get_validators {
50    my $self = shift;
51    my %args = _parse_args(@_);
52
53    my @x = map { @{ $_->get_validators(@_) } } @{ $self->_elements };
54
55    return _filter_components( \%args, \@x );
56}
57
58sub get_transformers {
59    my $self = shift;
60    my %args = _parse_args(@_);
61
62    my @x = map { @{ $_->get_transformers(@_) } } @{ $self->_elements };
63
64    return _filter_components( \%args, \@x );
65}
66
67sub get_plugins {
68    my $self = shift;
69    my %args = _parse_args(@_);
70
71    return _filter_components( \%args, $self->_plugins );
72}
73
741;
75
76__END__
77
78=pod
79
80=encoding UTF-8
81
82=head1 NAME
83
84HTML::FormFu::Role::GetProcessors - processor getter roles
85
86=head1 VERSION
87
88version 2.07
89
90=head1 AUTHOR
91
92Carl Franks <cpan@fireartist.com>
93
94=head1 COPYRIGHT AND LICENSE
95
96This software is copyright (c) 2018 by Carl Franks.
97
98This is free software; you can redistribute it and/or modify it under
99the same terms as the Perl 5 programming language system itself.
100
101=cut
102