Peter Flanigan > Class-Usul-0.63.1 > Class::Usul

Download:
class-usul/Class-Usul-0.63.1.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: v0.63.1   Source  

Name ^

Class::Usul - A base class providing config, locking, logging, and l10n

Version ^

Describes Class::Usul version v0.63.$Rev: 1 $

Synopsis ^

   use Class::Usul;
   use Class::Usul::Constants qw( FALSE );
   use Class::Usul::Functions qw( find_apphome get_cfgfiles );

   my $attr = { config => {}, debug => $ENV{DEBUG} // FALSE };
   my $conf = $attr->{config};

   $conf->{appclass    } or  die "Application class not specified";
   $attr->{config_class} //= $conf->{appclass}.'::Config';
   $conf->{home        }   = find_apphome $conf->{appclass};
   $conf->{cfgfiles    }   = get_cfgfiles $conf->{appclass}, $conf->{home};

   return Class::Usul->new( $attr );

Description ^

These modules provide a set of base classes for Perl modules and applications. It provides configuration file loading Class::Usul::Config, locking to single thread processes IPC::SRLock, logging Class::Usul::Log and localisation Class::Usul::L10N

The class Class::Usul::Programs is a base class for command line interfaces

Interprocess communication is handled by Class::Usul::IPC

Class::Usul::File makes the functionality of File::DataClass available

Configuration and Environment ^

Defines the following attributes;

config

The config attribute should be a hash reference 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 reference in the config attribute. It provides accessor methods with symbol inflation and smart defaults. Add configuration attributes by subclassing this class

debug

A boolean which defaults to false. Usually an instance of this class is passed into the constructors of other classes which set their own debug state to this value

encoding

Deprecated. An object should define it's own encoding attribute which defaults to the configuration value

Defaults to $self->config->encoding which defaults to to UTF-8. Used to decode input and encode output

l10n

A lazily evaluated instance of the l10n_class. This object reference handles the localize method

l10n_class

A lazy loadable class which defaults to Class::Usul::L10N

lock

A lazily evaluated instance of the lock_class

lock_class

A lazy loadable class which defaults to IPC::SRLock

log

A lazily evaluated instance of the log_class

log_class

A lazy loadable class which defaults to Class::Usul::Log

Subroutines/Methods ^

dumper

   $self->dumper( $some_var );

Use Data::Printer to dump arguments for development purposes

Diagnostics ^

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

Dependencies ^

Class::Usul::Config
Class::Usul::Constants
Class::Usul::Functions
Class::Usul::L10N
Class::Usul::Log
Class::Usul::Types
IPC::SRLock
Moo

Incompatibilities ^

There are no known incompatibilities in this module

Bugs and Limitations ^

There are no known bugs in this module. Please report problems to http://rt.cpan.org/NoAuth/Bugs.html?Dist=Class-Usul. Patches are welcome

Author ^

Peter Flanigan, <pjfl@cpan.org>

Acknowledgements ^

Larry Wall - For the Perl programming language

License and Copyright ^

Copyright (c) 2015 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

syntax highlighting: