From d809044c2f00d7f8358dc8013c4e6639760aba67 Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Wed, 7 Jul 2010 15:44:46 -0700 Subject: Revising newrepo to use libpiny. --- usr/src/libpiny/lib/Piny/User/IkiWiki.pm | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 usr/src/libpiny/lib/Piny/User/IkiWiki.pm (limited to 'usr/src/libpiny/lib/Piny/User/IkiWiki.pm') diff --git a/usr/src/libpiny/lib/Piny/User/IkiWiki.pm b/usr/src/libpiny/lib/Piny/User/IkiWiki.pm new file mode 100644 index 0000000..b522ad8 --- /dev/null +++ b/usr/src/libpiny/lib/Piny/User/IkiWiki.pm @@ -0,0 +1,33 @@ +# Copyright © 2010 Julian Blake Kongslie +# Licensed under the BSD 3-clause license. + +package Piny::User::IkiWiki; + +use Moose; +use Moose::Util::TypeConstraints; + +use Piny::User; + +extends "Piny::User"; + +# Types + +subtype 'IkiWikiUsername' + => as 'Str' + => where { $_ =~ /^ikiwiki-[a-zA-Z][a-zA-Z0-9_.-]*$/ } + => message { 'That username is not in the correct format for an ikiwiki user.' } + ; + +# Attributes + +has 'name' => + ( is => 'ro' + , isa => 'IkiWikiUsername' + , lazy_build => 1 + ); + +# Moose boilerplate + +__PACKAGE__->meta->make_immutable; + +1; -- cgit v1.2.3