NAME

Yukki::Types - standard types for use in Yukki

VERSION

version 0.991_004

SYNOPSIS

  use Yukki::Types qw( LoginName AccessLevel );

  has login_name => ( isa => LoginName );
  has access_level => ( isa => AccessLevel );

DESCRIPTION

A standard type library for Yukki.

TYPES

LoginName

This is a valid login name. Login names may only contain letters and numbers, as of this writing.

AccessLevel

This is a valid access level. This includes any of the following values:

  read
  write
  none

This is an array of hashes formatted like:

  {
      label => 'Label',
      href  => '/link/to/somewhere',
      sort  => 40,
  }

This is a hash of "NavigationLinks".

BaseURL

This is either an absolute URL or the words SCRIPT_NAME or REWRITE.

This is an array of hashes formatted like:

  {
      label => 'Label',
      href  => '/link/to/somewhere',
  }

RepositoryName

This limits repository names to a limited subset of ASCII.

RepositoryMap

This is a hash of Yukki::Settings::Repository objects.

PrivilegeMap

This is a hash of Yukki::Settings::Privileges objects.

PluginConfig

A plugin configuration is an array of hashes. Each hash must have at least one key named "module" defined.

PluginList

A plugin list is a loaded set of plugin objects.

COERCIONS

In addition to the types above, these coercions are provided for other types.

EmailAddress

Coerces a Str into an Email::Address.

YukkiSettings

Coerces a HashRef into this object by passing the value to the constructor.

YukkiWebSettings

Coerces a HashRef into a Yukki::Web::Settings.

YukkiSettingsAnonymous

Coerces a HashRef into this object by passing the value to the constructor.

AUTHOR

Andrew Sterling Hanenkamp <hanenkamp@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Qubling Software LLC.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.