package HTML::FormFu::Role::GetProcessors; use Moose::Role; use HTML::FormFu::Util qw( _parse_args _filter_components ); sub get_deflators { my $self = shift; my %args = _parse_args(@_); my @x = map { @{ $_->get_deflators(@_) } } @{ $self->_elements }; return _filter_components( \%args, \@x ); } sub get_filters { my $self = shift; my %args = _parse_args(@_); my @x = map { @{ $_->get_filters(@_) } } @{ $self->_elements }; return _filter_components( \%args, \@x ); } sub get_constraints { my $self = shift; my %args = _parse_args(@_); my @x = map { @{ $_->get_constraints(@_) } } @{ $self->_elements }; return _filter_components( \%args, \@x ); } sub get_inflators { my $self = shift; my %args = _parse_args(@_); my @x = map { @{ $_->get_inflators(@_) } } @{ $self->_elements }; return _filter_components( \%args, \@x ); } sub get_validators { my $self = shift; my %args = _parse_args(@_); my @x = map { @{ $_->get_validators(@_) } } @{ $self->_elements }; return _filter_components( \%args, \@x ); } sub get_transformers { my $self = shift; my %args = _parse_args(@_); my @x = map { @{ $_->get_transformers(@_) } } @{ $self->_elements }; return _filter_components( \%args, \@x ); } sub get_plugins { my $self = shift; my %args = _parse_args(@_); return _filter_components( \%args, $self->_plugins ); } 1;