Mojolicious::Plugin::Parametry - Mojolicious plugin providing param helpers
$self->plugin('Parametry'); # Trim whitespace on the value of param `the_test_param` and # set it to empty string if it doesn't exist: my $p = $self->P->the_test_param; # Access `matching` param helper, to gather all params starting with `foo_` my $ps = $self->PP->matching('foo_'); # These are regular helpers, and so available inside templates too: <p>Param meow_meow has value <%= P->meow_meow %></p> <p>Meowy params: <%= PP->matching(qr/meow/, vals => 1)->join(', ') %></p> # And if you're not a fan of 1-letter helper names, you can change them: $self->plugin(Parametry => shortcut_key => 'paramer', helpers_key => 'param_helpers'); my $par_val = $self->paramer->the_test; my $params = $self->param_helpers->matching(qr/^foo_/);
Mojolicious::Plugin::Parametry is a Mojolicious plugin that provides a simpler (to a taste) way to access parameter values as well as a set of helpers for managing params and their values.
No testing or support has been made for handling multi-value params. Some helpers provided by the plugin only support params named with valid Perl method named.
Mojolicious::Plugin::Parametry inherits all methods from Mojolicious::Plugin and implements the following new ones.
$plugin->register(Mojolicious->new);
Register plugin in Mojolicious application.
P
$c->P->some_param_value; # Equivalent to: # ($c->param('some_param_value') // '') =~ s/^\s+|\s+$//gr;
This is the default name for the Paramer shortcut param access helper and can be changed using shortcut_key plugin configuration key.
shortcut_key
To access a param value, make a method call on the object returned by this helper, with the name of the method matching the name of the param. If param value is `undef`, the helper will set it to an emptry string. The helper will also trim leading and trailing whitespace.
CAVEATS: this helper can be used to access only params named with valid Perl method names and no support for other names is currently planned.
$c->PP
Provides access to Mojolicious::Plugin::Parametry::ParamerHelpers object, initialized with the current controller object. Available methods are:
matching
$c->PP->matching('foo_'); # all param names starting with 'foo_' # all param values of params whose name match regex /foo/ $c->PP->matching(qr/foo/, vals => 1); # all param names starting with 'foo_', with 'foo_' stripped from names $c->PP->matching('foo_', strip => 1); # all param names starting with 'foo_', with 'foo_' changed to 'bar_' $c->PP->matching('foo_', subst => 'bar_'); # all param names starting with 'foo_', with 'foo_' changed to 'bar_' # returned together with their values, as a hashref $c->PP->matching('foo_', subst => 'bar_', as_hash => 1);
Gathers matching params, optionally complemented with their values, and returns them as a Mojo::Collection (or a hashref, if as_hash is set), optionally manipulating the names. Available args:
as_hash
$c->PP->matching('foo_'); $c->PP->matching(qr/foo.+bar/);
Mandatory. Specifies the matcher for parameter name matching. Takes either a Regexp object or a plain string. String match is anchored to the start of the parameter name ('fo.o' is equivalent to qr/^fo\.o/).
Regexp
'fo.o'
qr/^fo\.o/
vals
$c->PP->matching(qr/foo/, vals => 1);
Optional. Causes the method to return a Mojo::Collection of the values of parameter whose names match the matcher.
$c->PP->matching(qr/foo/, as_hash => 1);
Optional. Causes the method to return a hashref where keys are parameter names and values are parameter values. No attempt to handle multi-value parameters is done. This argument takes precedence over vals arugment.
subst
# all param names starting with 'foo_', with 'foo_' changed to 'bar_' $c->PP->matching('foo_', subst => 'bar_');
Optional. Replaces the matching part of parameter names with the provided replacement. When used with as_hash, the modified names will become the new keys (the values are still obtained from original param names)
# all param names starting with 'foo_', with 'foo_' stripped from names $c->PP->matching('foo_', strip => 1);
Optional. Alternative way of specifying subst => ''
subst => ''
Fork this module on GitHub: https://github.com/zoffixznet/Mojolicious-Plugin-Parametry
To report bugs or request features, please use https://github.com/zoffixznet/Mojolicious-Plugin-Parametry/issues
If you can't access GitHub, you can email your request to bug-mojolicious-plugin-parametry at rt.cpan.org
bug-mojolicious-plugin-parametry at rt.cpan.org
Zoffix Znet zoffix at cpan.org, (https://zoffix.com/)
zoffix at cpan.org
You can use and distribute this module under the same terms as Perl itself. See the LICENSE file included in this distribution for complete details.
LICENSE
To install Mojolicious::Plugin::Parametry, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious::Plugin::Parametry
CPAN shell
perl -MCPAN -e shell install Mojolicious::Plugin::Parametry
For more information on module installation, please visit the detailed CPAN module installation guide.