nsca 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/lib/nsca/check.rb +21 -6
  3. data/nsca.gemspec +2 -2
  4. metadata +3 -3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/lib/nsca/check.rb CHANGED
@@ -14,7 +14,7 @@ module NSCA
14
14
  def measure &block
15
15
  timeout ||= 0
16
16
  exception = Class.new Timeout::Error
17
- pd = perfdatas[perfdata_label]
17
+ pd = perfdatas[perfdata_label.to_sym]
18
18
  timeout = pd.max
19
19
  m = realtime do
20
20
  begin
@@ -35,6 +35,7 @@ module NSCA
35
35
  def min() self.class.min end
36
36
  def max() self.class.max end
37
37
  def to_s() "#{label}=#{value}#{unit},#{warn},#{crit},#{min},#{max}" end
38
+ def to_sym() self.class.label.to_sym end
38
39
 
39
40
  def return_code
40
41
  if @value.nil? then 3
@@ -71,17 +72,29 @@ module NSCA
71
72
  def init return_code = nil, status = nil, perfdatas = nil, timestamp = nil
72
73
  @return_code = return_code if return_code
73
74
  @status = status if status
74
- perfdatas.each &method( :[]) if perfdatas
75
+ case perfdatas
76
+ when Hash
77
+ perfdatas.each &method( :[])
78
+ when Array
79
+ push *perfdatas
80
+ end
75
81
  @timestamp = timestamp if timestamp
76
82
  self
77
83
  end
78
84
 
79
85
  def [] perfdata_label
80
- pd = @perfdatas[perfdata_label]
86
+ pd = @perfdatas[perfdata_label.to_sym]
81
87
  pd && pd.value
82
88
  end
83
89
 
90
+ def push *perfdatas
91
+ perfdatas.each {|perfdata| @perfdatas[perfdata.label] = perfdata }
92
+ @perfdatas
93
+ end
94
+
84
95
  def []= perfdata_label, value
96
+ return push value if value.is_a? PerformanceData::Base
97
+ perfdata_label = perfdata_label.to_sym
85
98
  cl = self.class.perfdatas[perfdata_label]
86
99
  cl ||= PerformanceData::Base.new perfdata_label
87
100
  @perfdatas[perfdata_label] = cl.new value
@@ -89,11 +102,13 @@ module NSCA
89
102
 
90
103
  def text
91
104
  r = "#{status || ReturnCode.find(return_code)}"
92
- r += " | #{perfdatas.map( &:to_s).join ' '}" unless perfdatas.empty?
105
+ r += " | #{perfdatas.each_value.map( &:to_s).join ' '}" unless perfdatas.empty?
93
106
  r
94
107
  end
95
108
 
96
- def measure( perfdata_label, &block) @perfdatas[perfdata_label].measure &block end
109
+ def measure perfdata_label, &block
110
+ @perfdatas[perfdata_label.to_sym].measure &block
111
+ end
97
112
  def send() NSCA::send self end
98
113
 
99
114
  def ok status = nil, perfdatas = nil
@@ -141,7 +156,7 @@ module NSCA
141
156
  attr_reader :service, :hostname, :perfdatas
142
157
  def init service, hostname = nil, perfdatas = nil
143
158
  @service, @hostname, @perfdatas = service, hostname || `hostname -f`, {}
144
- perfdatas.each {|pd| @perfdatas[pd.label] = pd }
159
+ perfdatas.each {|pd| @perfdatas[pd.label.to_sym] = pd }
145
160
  self
146
161
  end
147
162
 
data/nsca.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "nsca"
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Denis Knauf"]
12
- s.date = "2013-04-08"
12
+ s.date = "2013-04-09"
13
13
  s.description = "Create your alerts easily and send it to Nagios"
14
14
  s.email = "Denis.Knauf@gmail.com"
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nsca
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-08 00:00:00.000000000 Z
12
+ date: 2013-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: enum
@@ -162,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
162
  version: '0'
163
163
  segments:
164
164
  - 0
165
- hash: -806147665
165
+ hash: 410259443
166
166
  required_rubygems_version: !ruby/object:Gem::Requirement
167
167
  none: false
168
168
  requirements: