SpamMonkey
view release on metacpan or search on metacpan
lib/SpamMonkey.pm view on Meta::CPAN
sub default_rule_dir { "/etc/mail/spamassassin/" }
=head1 CONSTRUCTOR
SpamMonkey->new(
rule_dir => "/etc/mail/spamassassin/"
);
SpamMonkey by default loads up rules from F</etc/mail/spamassassin>
and then F<~/.spammonkey/user_prefs>. To override the rule directory,
specify C<rule_dir> in the constructor.
=cut
sub new { my $class = shift; bless { @_ }, $class; }
sub config_class { "SpamMonkey::Config" }
sub result_class { "SpamMonkey::Result" } # Subclassers like these
=head1 METHODS
lib/SpamMonkey.pm view on Meta::CPAN
sub ready {
my $self = shift;
$self->config_class->require;
$self->{conf} = $self->config_class->new();
# Read rules
for (glob(($self->{rule_dir} || $self->default_rule_dir)."/*.cf")) {
$self->{conf}->read($_);
}
my $file = expand_filename("~/.spammonkey/user_prefs");
if (-e $file) { $self->{conf}->read($file); }
# Delete rules with no score(!)
for ($self->rulesets) {
my $set = $self->{conf}{rules}{$_};
for (keys %$set) {
if (!exists $self->{conf}{score}{$_}
or !$self->{conf}{score}{$_}[0]) {
delete $set->{$_};# warn "Killing boring rule $_";
}
( run in 0.996 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )