An open API service indexing awesome lists of open source software.

https://github.com/opusvl/opusvl-sysparams

OpusVL::SysParams - Module to handle system wide parameters
https://github.com/opusvl/opusvl-sysparams

Last synced: 4 months ago
JSON representation

OpusVL::SysParams - Module to handle system wide parameters

Awesome Lists containing this project

README

          

OpusVL::SysParams - Module to handle system wide parameters

The idea is to allow the storage and retrieval of system wide parameters. The OpusVL::SysParams is the
main interface onto this storage and provides simple get/set methods. This uses a DBIx::Class::Schema
to store the data.

If you want to integrate this into an existing DBIx::Class Schema you can use a Role to apply to your
schema to inject the necessary tables and a schema level sys_params object.

# in your schema class.
with 'OpusVL::SysParams::RolesFor::Schema';
OpusVL::SysParams::RolesFor::Schema->setup_sysparams(__PACKAGE__);

# now anywhere that has access to the schema can access the
# sys_params object.
$schema->sys_params->get('param.name');

To use it stand alone you can use a regular Catalyst style config file to initialise the schema.
If the constructor is called without a schema specified it will attempt to load up a schema based
on a config file in the catalyst style for the name 'OpusVL::SysParams'. This config file should
have a Model::SysParams section containing the config.


connect_info dbi:Pg:dbname=test1
connect_info user
connect_info password

Note that you must specify at least 2 connect_info parameters even if you are using SQLite otherwise
the code will crash.

Set the environment variable OPUSVL_SYSPARAMS_CONFIG if you want to make sure you know where it will
pull it's config from.

$ENV{OPUSVL_SYSPARAMS_CONFIG} = $filename;

INSTALLATION

To install this module, run the following commands:

perl Makefile.PL
make
make test
make install

LICENSE AND COPYRIGHT

Copyright (C) 2011 OpusVL

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

If you require assistance, support, or further development of this software, please contact OpusVL using the details below:

Telephone: +44 (0)1788 298 410
Email: community@opusvl.com
Web: http://opusvl.com