NAME
    Dancer::Plugin::PasswordRequirements - Configurable password complexity
    testing

DESCRIPTION
    This module provides a wrapper around Data::Password::Simple, and
    impliments its functionality.

    When this plugin is in use D::P::Simple object is retained within Dancer
    for improved performance, please be aware of the memory footprint
    implications when using the dictionary check function with large
    dictionaries.

    The development of this module is maintained at
    "https://github.com/Abablabab/Dancer-Plugin-PasswordRequirements"

VERSION
    Version 0.01

SYNOPSIS
        use Dancer::Plugin::PasswordRequirements;

    The module is now ready to use, although not good for much.
    Data::Password::Simple will use its default configuration for password
    complexity (no dictionary checking, 6c minimum password length).

        get '/acceptable_password' => sub {
            return password_check(params->{word}) ? "yes" : "no";
        };

    If we want to we can construct a new D::P::Simple object using a new set
    of parameters. This will replace the existing object.

        password_construct(
            length     => 6,
            dictionary => '/usr/share/dict/words',
        );

    Or we can access the existing D::P::Simple object directly, and make use
    of existing mutators and accessors.

        my $dps = password_dps_ref;
        $dps->length(8);

EXPORTED KEYWORDS
  password_construct
    Replaces the current internal Data::Password::Simple object with one
    constructed with the given key => value list of parameters.

    See the documentation for Data::Password::Simple::new for more
    information.

  password_check
    A wrapper for D::P::Simple::check.

    In scalar context returns true if the password passes the check, false
    otherwise.

    In list context returns a boolean result, and a hash containing details
    of password check results.

    See the documentation for Data::Password::Simple::check for more
    information.

  password_dps_ref
    Returns the D::P::Simple object ref stored internally.

    Note that D::P::Simple is not thread-safe. So modifications while being
    accessed by other Dancer workers may have odd effects.

BUGS
    Please report any bugs or feature requests to
    "bug-dancer-plugin-passwordrequirements at rt.cpan.org", or through the
    web interface at
    <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Dancer-Plugin-PasswordRe
    quirements>. I will be notified, and then you'll automatically be
    notified of progress on your bug as I make changes.

SUPPORT
    You can find documentation for this module with the perldoc command.

        perldoc Dancer::Plugin::PasswordRequirements

    You can also look for information at:

    *   RT: CPAN's request tracker (report bugs here)

        <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Dancer-Plugin-PasswordRequ
        irements>

    *   AnnoCPAN: Annotated CPAN documentation

        <http://annocpan.org/dist/Dancer-Plugin-PasswordRequirements>

    *   CPAN Ratings

        <http://cpanratings.perl.org/d/Dancer-Plugin-PasswordRequirements>

    *   Search CPAN

        <http://search.cpan.org/dist/Dancer-Plugin-PasswordRequirements/>

AUTHOR
        Ross Hayes
        CPAN ID: Abablabab
        ross@abablabab.co.uk
        http://metacpan.org/author/ABABLABAB

COPYRIGHT
    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

    The full text of the license can be found in the LICENSE file included
    with this module.

SEE ALSO
    Data::Password::Simple Dancer Dancer::Plugin