Name

Class::Usul - A base class other packages

Version

Describes Class::Usul version 0.11.$Revision: 247 $

Synopsis

use Class::Usul::Moose;

extends qw(Class::Usul);

Description

These modules provide a set of base classes for Perl packages and applications

Configuration and Environment

$self = Class::Usul->new( $attr );

The $attr argument is a hash ref containing the object attributes.

config

The config attribute should be a hash ref that may define key/value pairs that provide filesystem paths for the temporary directory etc.

config_class

Defaults to Class::Usul::Config and is of type LoadableClass. An instance of this class is loaded and instantiated using the hash ref in the config attribute. It provides accessor methods with symbol inflation and smart defaults. Add configuration attributes by subclassing the default

debug

Defaults to false

encoding

Decode input and encode output. Defaults to UTF-8

Defined the application context log. Defaults to a Class::Null object

Subroutines/Methods

new_from_class

$usul_object = $self->new_from_class( $application_class ):

Returns a new instance of self starting only with an application class name. The application class in expected to provide config and debug class methods. The hash ref $application_class->config will be passed as the config attribute to the constructor for this class

dumper

$self->dumper( $some_var );

Use Data::Printer to dump arguments for development purposes

_build__lock

Defines the lock object. This instantiates on first use

An IPC::SRLock object which is used to single thread the application where required. This is a singleton object. Provides defaults for and returns a new IPC::SRLock object. The keys of the $self->config->lock_attributes hash are:

debug

Debug status. Defaults to $self->debug

log

Logging object. Defaults to $self->log

tempdir

Directory used to store the lock file and lock table if the fcntl backend is used. Defaults to $self->config->tempdir

Diagnostics

Setting the debug attribute to true causes messages to be logged at the debug level

Dependencies

Class::Usul::Constants
Class::Usul::Functions
Class::Usul::L10N
Class::Usul::Log
Class::Usul::Moose
IPC::SRLock

Incompatibilities

There are no known incompatibilities in this module

Bugs and Limitations

There are no known bugs in this module. Please report problems to the address below. Patches are welcome

Author

Peter Flanigan, <Support at RoxSoft.co.uk>

Acknowledgements

Larry Wall - For the Perl programming language

License and Copyright

Copyright (c) 2013 Peter Flanigan. All rights reserved

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

This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE