CGI::Application::Plugin::Config::IniFiles - Add Config::IniFiles support to CGI::Application.


CGI-Application-Plugin-Config-IniFiles documentation Contained in the CGI-Application-Plugin-Config-IniFiles distribution.

Index


Code Index:

NAME

Top

CGI::Application::Plugin::Config::IniFiles - Add Config::IniFiles support to CGI::Application.

SYNOPSIS

Top

  use CGI::Application::Plugin::Config::IniFiles;
  sub cgiapp_init {
    my($self) = @_;
    $self->config_file("app.conf");
    my $opt = $self->config->val("main","option");
    ...
  }

  sub run_mode {
    my($self) = @_;
    my $opt = $self->config->val("main","option");
    ...
  }

DESCRIPTION

Top

This module works as plugin for Config::IniFiles to be easily used inside CGI::Application module.

Module provides tree calls: config_file(), config() and cfg().

METHODS

Top

config_file($file[,%options])

This method reads file $file and create Config::IniFiles object. Optional arguments has same semantics as in new in Config::IniFiles. You can also pass a Config::IniFiles object instead of a filename which is useful for persistent environments like FastCGI.

config()

Returns underlying Config::IniFiles object for direct access to its methods.

config()

Same as config() for more convenient.

SEE ALSO

Top

See CGI::Application, Config::IniFiles.

AUTHOR

Top

Artur Penttinen, <artur+perl@niif.spb.su>, Sven Neuhaus <sven-bitcard@sven.de>

COPYRIGHT AND LICENSE

Top


CGI-Application-Plugin-Config-IniFiles documentation Contained in the CGI-Application-Plugin-Config-IniFiles distribution.

#! perl
# $Id:$

package CGI::Application::Plugin::Config::IniFiles;

use 5.008;
use strict;
use warnings;

use CGI::Application;
use Config::IniFiles;

use base "Exporter";

our @EXPORT = qw( config_file config cfg );
our $VERSION = (qw$Revision: $)[1];

sub config_file {
  my($self,$file,%opt) = @_;
  if ( ref($file) eq 'Config::IniFiles' ) {
	# it's not a file after all, it's a Config::IniFiles object
    # useful for persistent environments like FastCGI
    $self->{'__CONFIG_INIFILES'}->{'__CONFIG'} = $file;
  } else {
    $self->{'__CONFIG_INIFILES'}->{'__FILE_NAME'} = $file;
    $self->{'__CONFIG_INIFILES'}->{'__CONFIG'} = Config::IniFiles->new('-file' => $file,%opt);
  }
  return $file;
}

sub config {
  return $_[0]->{'__CONFIG_INIFILES'}->{'__CONFIG'};
}

sub cfg {
  return $_[0]->{'__CONFIG_INIFILES'}->{'__CONFIG'};
}

1;

__END__

### That's all, folks!
# $Log:$
#