NAME
WebPrototypes::Registration - (Experimental) Plack application for registering a new user
VERSION
version 0.002
SYNOPSIS
# connecting with DBIx::Class
{
package My::Register;
use parent 'WebPrototypes::Registration';
use Plack::Util::Accessor qw( schema );
sub find_user {
my( $self, $name ) = @_;
return $self->schema->resultset( 'User' )->search({ username => $name })->next;
}
sub create_user {
my( $self, %fields ) = @_;
return $self->schema->resultset( 'User' )->create({ %fields });
}
}
use Plack::Builder;
my $app = My::Register->new( schema => $schema );
builder {
mount "/register" => builder {
$app->to_app;
};
};
DESCRIPTION
This application implements a user registration mechanism. After the registration and email address verification letter is sent.
The examples here are with DBIx::Class but they can be easily ported to other storage layers.
This application uses the Template Method design pattern.
PURE VIRTUAL METHODS
These methods need to be overriden in subclass.
- find_user ( name )
-
Should return a true value if the name is already registered
- create_user ( attributes )
-
Should create the user object.
VIRTUAL METHODS
These methods have defaults - but should probably be overriden anyway.
- wrap_text ( text )
-
Should return the html page containing the passed text fragment. By default it just adds the html and body tags.
- build_reply ( page_body )
-
Should return the PSGI response data structure.
- build_email ( to_address, link_to_the_reset_page )
-
Should create the email containing the link.
- send_mail ( mail )
-
Should send the mail (created by build_mail).
OTHER METHODS
SEE ALSO
Plack Plack::Middleware::Auth::Form
AUTHOR
Zbigniew Lukasiak <zby@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2011 by Zbigniew Lukasiak <zby@cpan.org>.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)