App-Milter-Limit
view release on metacpan or search on metacpan
lib/App/Milter/Limit.pm view on Meta::CPAN
use Sys::Syslog ();
__PACKAGE__->mk_accessors(qw(driver milter));
sub _new_instance {
my ($class, $driver) = @_;
croak "usage: new(driver)" unless defined $driver;
my $self = $class->SUPER::_new_instance();
$self->init($driver);
return $self;
}
sub init {
my ($self, $driver) = @_;
$self->_init_log;
lib/App/Milter/Limit/Config.pm view on Meta::CPAN
sub _new_instance {
my ($class, $config_file) = @_;
my $config = Config::Tiny->read($config_file)
or die "failed to read config file: ", Config::Tiny->errstr;
# set defaults
$config->{_}{name} ||= 'milter-limit';
$config->{_}{state_dir} ||= '/var/run/milter-limit';
my $self = $class->SUPER::_new_instance({config => $config});
$self->init;
return $self;
}
sub init {
my $self = shift;
no warnings 'uninitialized';
lib/App/Milter/Limit/Plugin.pm view on Meta::CPAN
use strict;
use warnings;
use base 'Class::Singleton';
use App::Milter::Limit::Config;
sub _new_instance {
my $class = shift;
my $self = $class->SUPER::_new_instance(@_);
$self->init(@_);
return $self;
}
sub config_get {
my ($self, $section, $name) = @_;
( run in 1.082 second using v1.01-cache-2.11-cpan-49f99fa48dc )