hq-tools 0.3.0 → 0.3.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 (2) hide show
  1. data/lib/hq/tools/check-script.rb +95 -0
  2. metadata +3 -2
@@ -0,0 +1,95 @@
1
+ module HQ
2
+ module Tools
3
+ class CheckScript
4
+
5
+ attr_accessor :args
6
+ attr_accessor :status
7
+ attr_accessor :stdout
8
+ attr_accessor :stderr
9
+
10
+ def initialize
11
+ @name = "Unnamed"
12
+ @messages = []
13
+ @critical = false
14
+ @warning = false
15
+ @unknown = false
16
+ @postscript = []
17
+ @stdout = $stdout
18
+ @stderr = $stderr
19
+ end
20
+
21
+ def main
22
+
23
+ process_args
24
+
25
+ begin
26
+ prepare
27
+ perform_checks
28
+ rescue => exception
29
+
30
+ message = "%s: %s" % [
31
+ exception.class,
32
+ exception.message,
33
+ ]
34
+
35
+ critical message
36
+
37
+ @postscript << message
38
+ @postscript << exception.backtrace
39
+
40
+ end
41
+
42
+ perform_output
43
+
44
+ end
45
+
46
+ def prepare
47
+ end
48
+
49
+ def perform_output
50
+
51
+ if @critical
52
+ @stdout.puts "#{@name} CRITICAL: #{@messages.join ", "}"
53
+ @status = 2
54
+
55
+ elsif @warning
56
+ @stdout.puts "#{@name} WARNING: #{@messages.join ", "}"
57
+ @status = 1
58
+
59
+ elsif @unknown
60
+ @stdout.puts "#{@name} UNKNOWN: #{@messages.join ", "}"
61
+ @status = 3
62
+
63
+ else
64
+ @stdout.puts "#{@name} OK: #{@messages.join ", "}"
65
+ @status = 0
66
+ end
67
+
68
+ @postscript.each do |ps|
69
+ @stderr.puts ps
70
+ end
71
+
72
+ end
73
+
74
+ def message string
75
+ @messages << string
76
+ end
77
+
78
+ def critical string
79
+ @messages << string
80
+ @critical = true
81
+ end
82
+
83
+ def warning string
84
+ @messages << string
85
+ @warning = true
86
+ end
87
+
88
+ def unknown string
89
+ @messages << string
90
+ @unknown = true
91
+ end
92
+
93
+ end
94
+ end
95
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hq-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.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-04 00:00:00.000000000 Z
12
+ date: 2013-04-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cucumber
@@ -100,6 +100,7 @@ extra_rdoc_files: []
100
100
  files:
101
101
  - lib/hq/tools/getopt.rb
102
102
  - lib/hq/tools/escape.rb
103
+ - lib/hq/tools/check-script.rb
103
104
  - spec/hq/tools/getopt-spec.rb
104
105
  homepage: https://github.com/jamespharaoh/hq-tools
105
106
  licenses: []