From f948ceecba9b5f6cb0aef9aae6f6be18ba6feffe Mon Sep 17 00:00:00 2001 From: Ton Voon Date: Thu, 15 Jun 2006 09:11:54 +0000 Subject: is_set method to see if a range has been set git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/Nagios-Plugin/trunk@1429 f882894a-f735-0410-b71e-b25c423dba1c --- lib/Nagios/Plugin/Range.pm | 8 +++++++- lib/Nagios/Plugin/Threshold.pm | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'lib/Nagios/Plugin') diff --git a/lib/Nagios/Plugin/Range.pm b/lib/Nagios/Plugin/Range.pm index 3d6f613..c03001a 100644 --- a/lib/Nagios/Plugin/Range.pm +++ b/lib/Nagios/Plugin/Range.pm @@ -14,7 +14,7 @@ struct "Nagios::Plugin::Range" => { end => '$', start_infinity => '$', # TRUE / FALSE end_infinity => '$', # TRUE / FALSE - alert_on => '$', # OUTSIDE 0, INSIDE 1 + alert_on => '$', # OUTSIDE 0, INSIDE 1, not defined == range not set }; my $outside = 0; @@ -22,11 +22,17 @@ my $inside = 1; sub stringify { my $self = shift; + return "" unless $self->is_set; return (($self->alert_on) ? "@" : "") . (($self->start_infinity == 1) ? "~:" : (($self->start == 0)?"":$self->start.":")) . (($self->end_infinity == 1) ? "" : $self->end); } +sub is_set { + my $self = shift; + (! defined $self->alert_on) ? 0 : 1; +} + sub set_range_start { my ($self, $value) = @_; $self->start($value+0); # Force scalar into number diff --git a/lib/Nagios/Plugin/Threshold.pm b/lib/Nagios/Plugin/Threshold.pm index 9c5d042..1b332b9 100644 --- a/lib/Nagios/Plugin/Threshold.pm +++ b/lib/Nagios/Plugin/Threshold.pm @@ -16,7 +16,7 @@ struct "Nagios::Plugin::Threshold" => { sub set_thresholds { my ($class, %args) = @_; - my $t = $class->new; + my $t = $class->new( warning => Nagios::Plugin::Range->new, critical => Nagios::Plugin::Range->new ); if (defined $args{warning}) { my $r = Nagios::Plugin::Range->parse_range_string($args{warning}); if (defined $r) { @@ -44,12 +44,12 @@ sub set_thresholds { sub get_status { my ($self, $value) = @_; - if ($self->critical) { + if ($self->critical->is_set) { if ($self->critical->check_range($value) == 1) { return $ERRORS{CRITICAL}; } } - if ($self->warning) { + if ($self->warning->is_set) { if ($self->warning->check_range($value) == 1) { return $ERRORS{WARNING}; } -- cgit v1.2.3-74-g34f1