GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SPOPS::Initialize(3) User Contributed Perl Documentation SPOPS::Initialize(3)

SPOPS::Initialize - Provide methods for initializing groups of SPOPS objects at once

 # Bring in the class

 use SPOPS::Initialize;

 # Assumes that all your SPOPS configuration information is collected
 # in a series of files 'spops/*.perl'

 my $config = SPOPS::Initialize->read_config({
                              directory => '/path/to/spops',
                              pattern   => '\.perl' });

 # You could also have all your SPOPS classes in a single file:

 my $config = SPOPS::Initialize->read_config({
                              filename => '/path/to/my/spops.config' });

 # Or in a number of files:

 my $config = SPOPS::Initialize->read_config({
                              filename => [ '/path/to/my/spops.config.1',
                                            '/path/to/my/spops.config.2' ] });

 # As a shortcut, you read the config and process all at once

 SPOPS::Initialize->process({ directory => '/path/to/spops',
                              pattern   => '\.perl' });

 SPOPS::Initialize->process({ filename => '/path/to/my/spops.config' });

 SPOPS::Initialize->process({ filename => [ '/path/to/my/spops.config.1',
                                            '/path/to/my/spops.config.2' ] });

 # Use an already-formed config hashref from somewhere else

 SPOPS::Initialize->process({ config => \%spops_config });

 # You can also pass in multiple config hashrefs that get processed at
 # once, taking care of circular relationship problems (e.g., 'user'
 # links-to 'group', 'group' links-to 'user').

 SPOPS::Initialize->process({ config => [ $config1, $config2 ] });

This class makes it simple to initialize SPOPS classes and should be suitable for utilizing at a server (or long-running process) startup.

Initialization of a SPOPS class consists of four steps:

1.
Read in the configuration. The configuration can be in a separate file, read from a database or built on the fly.
2.
Ensure that the classes used by SPOPS are 'require'd.
3.
Build the SPOPS class, using SPOPS::ClassFactory.
4.
Initialize the SPOPS class. This ensures any initial work the class needs to do on behalf of its objects is done. Once this step is complete you can instantiate objects of the class and use them at will.

process( \%params )

The configuration parameter 'config' can refer to one or more SPOPS object configuration hashrefs. These can be already-formed configuration hashrefs which, if there are more than one,are merged.

Example:

 SPOPS::Initialize->process({ config => $spops_config });
 SPOPS::Initialize->process({ config => [ $spops_config, $spops_config ] });

You can also pass one or more filenames of SPOPS information (using 'filename', or a combination of 'directory' and 'pattern'). Filename/directory processing parameters are passed directly to "read_config()".

Examples:

 # Process configurations in files 'user/spops.perl' and
 # 'group/spops.perl'

 SPOPS::Initialize->process({ filename => [ 'user/spops.perl',
                                            'group/spops.perl' ] });

 # Process all configuration files ending in .perl in the directory
 # 'conf/spops/':

 SPOPS::Initialize->process({ directory => 'conf/spops/',
                              pattern   => q(\.perl$) });

Other parameters in "\%params" depend on "SPOPS::ClassFactory" -- any values you pass will be passed through. This is fairly rare -- the only one you might ever want to pass is 'alias_list', which is an arrayref of aliases in the (merged or not) SPOPS config hashref to process.

Example:

 # We're just clowning around, so only process 'bozo' -- 'user' and
 # 'group' aren't touched

 my $config = {  user  => { ... },
                 group => { ... },
                 bozo  => { ... } };
 SPOPS::Initialize->process({ config => $config, alias_list => [ 'bozo' ] });

read_config( \%params )

Read in SPOPS configuration information from one or more files in the filesystem.

Parameters:

  • filename ($ or \@)

    One or more filenames, each with a fully-qualified path.

  • directory ($)

    Directory to read files from. If no pattern given, we try to read all the files from this directory.

    pattern ($)

    Regular expression pattern to match the files in the directory directory. For instance, you can use

      \.perl$
        

    to match all the files ending in '.perl' and read them in.

SPOPS::ClassFactory

Copyright (c) 2001-2004 Chris Winters. All rights reserved.

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

Chris Winters <chris@cwinters.com>
2004-06-02 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.