deputy 0.1.44 → 0.1.45
Sign up to get free protection for your applications and to get access to all the features.
- data/Readme.md +2 -1
- data/VERSION +1 -1
- data/bin/deputy +7 -2
- data/deputy.gemspec +4 -4
- data/lib/deputy.rb +5 -2
- data/spec/deputy_spec.rb +13 -3
- metadata +11 -4
data/Readme.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.45
|
data/bin/deputy
CHANGED
@@ -4,6 +4,8 @@ require 'optparse'
|
|
4
4
|
$LOAD_PATH << "#{File.dirname(__FILE__)}/../lib"
|
5
5
|
require 'deputy'
|
6
6
|
|
7
|
+
options = {}
|
8
|
+
|
7
9
|
OptionParser.new do |opts|
|
8
10
|
opts.banner = <<BANNER
|
9
11
|
Report to the sheriff
|
@@ -23,12 +25,15 @@ BANNER
|
|
23
25
|
Deputy.run_plugins
|
24
26
|
exit
|
25
27
|
end
|
28
|
+
opts.on('--host x', 'Use this host, when reporting') do |host|
|
29
|
+
options[:host] = host
|
30
|
+
end
|
26
31
|
end.parse!
|
27
|
-
|
32
|
+
|
28
33
|
metric, value = ARGV[0..1]
|
29
34
|
if metric.to_s.empty?
|
30
35
|
puts "Usage instructions: deputy --help"
|
31
36
|
exit
|
32
37
|
end
|
33
38
|
|
34
|
-
Deputy.send_report metric, (value || Deputy::DEFAULT_VALUE)
|
39
|
+
Deputy.send_report metric, (value || Deputy::DEFAULT_VALUE), options
|
data/deputy.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{deputy}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.45"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Michael Grosser"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-09-06}
|
13
13
|
s.default_executable = %q{deputy}
|
14
14
|
s.email = %q{mirko@dawanda.com}
|
15
15
|
s.executables = ["deputy"]
|
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
s.homepage = %q{http://github.com/dawanda/deputy}
|
27
27
|
s.rdoc_options = ["--charset=UTF-8"]
|
28
28
|
s.require_paths = ["lib"]
|
29
|
-
s.rubygems_version = %q{1.3.
|
29
|
+
s.rubygems_version = %q{1.3.7}
|
30
30
|
s.summary = %q{Report to the sheriff}
|
31
31
|
s.test_files = [
|
32
32
|
"spec/deputy_spec.rb",
|
@@ -37,7 +37,7 @@ Gem::Specification.new do |s|
|
|
37
37
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
38
38
|
s.specification_version = 3
|
39
39
|
|
40
|
-
if Gem::Version.new(Gem::
|
40
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
41
41
|
s.add_runtime_dependency(%q<SystemTimer>, [">= 0"])
|
42
42
|
else
|
43
43
|
s.add_dependency(%q<SystemTimer>, [">= 0"])
|
data/lib/deputy.rb
CHANGED
@@ -120,13 +120,16 @@ module Deputy
|
|
120
120
|
raise e
|
121
121
|
end
|
122
122
|
|
123
|
-
def self.send_report(group, value)
|
123
|
+
def self.send_report(group, value, options = {})
|
124
124
|
raise "separate #{group} with a ." unless group.split('.',2).size == 2
|
125
|
-
|
125
|
+
host = options[:host] || Socket.gethostname
|
126
|
+
|
127
|
+
get "/notify?group=#{CGI.escape group}&value=#{CGI.escape value.to_s}&hostname=#{host}"
|
126
128
|
end
|
127
129
|
|
128
130
|
def self.get(path, options = {})
|
129
131
|
url = "#{sheriff_url}#{path}"
|
132
|
+
url = "http://#{url}" unless url =~ %r{://}
|
130
133
|
options[:http_basic_authentication] = extract_auth_from_url!(url)
|
131
134
|
|
132
135
|
Timeout.timeout(config['timeout']||10) do
|
data/spec/deputy_spec.rb
CHANGED
@@ -148,9 +148,12 @@ describe Deputy do
|
|
148
148
|
end
|
149
149
|
|
150
150
|
describe :run_plugins do
|
151
|
+
before do
|
152
|
+
Deputy.stub!(:config).and_return "sheriff_url" => 'http://sheri.ff'
|
153
|
+
end
|
154
|
+
|
151
155
|
it "executes all plugins" do
|
152
156
|
$notify = 0
|
153
|
-
Deputy.stub!(:sheriff_url).and_return 'http://sheri.ff'
|
154
157
|
FakeWeb.register_uri(:get, "http://sheri.ff/plugins.rb", :body => klass('C', :code => '$notify=1'))
|
155
158
|
FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Deputies.finished&value=OK&hostname=my_host", :body => 'OK')
|
156
159
|
Deputy.run_plugins
|
@@ -169,17 +172,24 @@ describe Deputy do
|
|
169
172
|
end
|
170
173
|
|
171
174
|
describe :send_report do
|
175
|
+
before do
|
176
|
+
Deputy.stub!(:config).and_return "sheriff_url" => 'http://sheri.ff'
|
177
|
+
end
|
178
|
+
|
172
179
|
it "sends a report" do
|
173
|
-
Deputy.stub!(:sheriff_url).and_return 'http://sheri.ff'
|
174
180
|
FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Xxx.yyy&value=123&hostname=my_host", :body => 'OK')
|
175
181
|
Deputy.send_report('Xxx.yyy', '123').should == 'OK'
|
176
182
|
end
|
177
183
|
|
178
184
|
it "escapes metric names" do
|
179
|
-
Deputy.stub!(:sheriff_url).and_return 'http://sheri.ff'
|
180
185
|
FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Xxx.yy%3Fy&value=123&hostname=my_host", :body => 'OK')
|
181
186
|
Deputy.send_report('Xxx.yy?y', '123').should == 'OK'
|
182
187
|
end
|
188
|
+
|
189
|
+
it "overrides host, if specified in options" do
|
190
|
+
FakeWeb.register_uri(:get, "http://sheri.ff/notify?group=Xxx.yy%3Fy&value=123&hostname=general", :body => 'OK')
|
191
|
+
Deputy.send_report('Xxx.yy?y', '123', {:host => 'general'}).should == 'OK'
|
192
|
+
end
|
183
193
|
end
|
184
194
|
|
185
195
|
describe :extract_auth_from_url! do
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deputy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 65
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
9
|
+
- 45
|
10
|
+
version: 0.1.45
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Michael Grosser
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-09-06 00:00:00 +02:00
|
18
19
|
default_executable: deputy
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: SystemTimer
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
27
30
|
segments:
|
28
31
|
- 0
|
29
32
|
version: "0"
|
@@ -56,23 +59,27 @@ rdoc_options:
|
|
56
59
|
require_paths:
|
57
60
|
- lib
|
58
61
|
required_ruby_version: !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
59
63
|
requirements:
|
60
64
|
- - ">="
|
61
65
|
- !ruby/object:Gem::Version
|
66
|
+
hash: 3
|
62
67
|
segments:
|
63
68
|
- 0
|
64
69
|
version: "0"
|
65
70
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
66
72
|
requirements:
|
67
73
|
- - ">="
|
68
74
|
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
69
76
|
segments:
|
70
77
|
- 0
|
71
78
|
version: "0"
|
72
79
|
requirements: []
|
73
80
|
|
74
81
|
rubyforge_project:
|
75
|
-
rubygems_version: 1.3.
|
82
|
+
rubygems_version: 1.3.7
|
76
83
|
signing_key:
|
77
84
|
specification_version: 3
|
78
85
|
summary: Report to the sheriff
|