sensu-cli 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/sensu-cli/api.rb CHANGED
@@ -13,20 +13,21 @@ module SensuCli
13
13
  http.use_ssl = true
14
14
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
15
15
  end
16
+ proxy_header = { 'api-proxy' => 'true' }
16
17
  case opts[:method]
17
18
  when 'Get'
18
- req = Net::HTTP::Get.new(opts[:path])
19
+ req = Net::HTTP::Get.new(opts[:path], initheader = proxy_header)
19
20
  when 'Delete'
20
- req = Net::HTTP::Delete.new(opts[:path])
21
+ req = Net::HTTP::Delete.new(opts[:path], initheader = proxy_header)
21
22
  when 'Post'
22
- req = Net::HTTP::Post.new(opts[:path],initheader = {'Content-Type' => 'application/json'})
23
+ req = Net::HTTP::Post.new(opts[:path], initheader = proxy_header.merge!({ 'Content-Type' => 'application/json' }))
23
24
  req.body = opts[:payload]
24
25
  end
25
26
  req.basic_auth(opts[:user], opts[:password]) if opts[:user] && opts[:password]
26
27
  begin
27
28
  http.request(req)
28
29
  rescue Timeout::Error
29
- puts "HTTP request has timed out.".color(:red)
30
+ puts 'HTTP request has timed out.'.color(:red)
30
31
  exit
31
32
  rescue StandardError => e
32
33
  puts "An HTTP error occurred. Check your settings. #{e}".color(:red)
@@ -34,25 +35,25 @@ module SensuCli
34
35
  end
35
36
  end
36
37
 
37
- def response(code,body,command=nil)
38
+ def response(code, body, command = nil)
38
39
  case code
39
40
  when '200'
40
41
  JSON.parse(body)
41
42
  when '201'
42
- puts "The stash has been created." if command == "stashes" || command == "silence"
43
+ puts 'The stash has been created.' if command == 'stashes' || command == 'silence'
43
44
  when '202'
44
- puts "The item was submitted for processing."
45
+ puts 'The item was submitted for processing.'
45
46
  when '204'
46
- puts "Sensu is healthy" if command == 'health'
47
- puts "The item was successfully deleted." if command == 'aggregates' || command == 'stashes'
47
+ puts 'Sensu is healthy' if command == 'health'
48
+ puts 'The item was successfully deleted.' if command == 'aggregates' || command == 'stashes'
48
49
  when '400'
49
- puts "The payload is malformed.".color(:red)
50
+ puts 'The payload is malformed.'.color(:red)
50
51
  when '401'
51
- puts "The request requires user authentication.".color(:red)
52
+ puts 'The request requires user authentication.'.color(:red)
52
53
  when '404'
53
- puts "The item did not exist.".color(:cyan)
54
+ puts 'The item did not exist.'.color(:cyan)
54
55
  else
55
- (command == 'health') ? (puts "Sensu is not healthy.".color(:red)) : (puts "There was an error while trying to complete your request. Response code: #{code}".color(:red))
56
+ (command == 'health') ? (puts 'Sensu is not healthy.'.color(:red)) : (puts "There was an error while trying to complete your request. Response code: #{code}".color(:red))
56
57
  end
57
58
  end
58
59
 
@@ -4,7 +4,7 @@ module SensuCli
4
4
  def setup
5
5
  clis = Cli.new
6
6
  cli = clis.global
7
- @format = cli[:fields][:format] || "long"
7
+ @format = cli[:fields][:format] || 'long'
8
8
  settings
9
9
  api_path(cli)
10
10
  make_call
@@ -13,21 +13,21 @@ module SensuCli
13
13
  def settings
14
14
  directory = "#{Dir.home}/.sensu"
15
15
  file = "#{directory}/settings.rb"
16
- alt = "/etc/sensu/sensu-cli/settings.rb"
16
+ alt = '/etc/sensu/sensu-cli/settings.rb'
17
17
  settings = Settings.new
18
18
  if settings.is_file?(file)
19
19
  SensuCli::Config.from_file(file)
20
20
  elsif settings.is_file?(alt)
21
21
  SensuCli::Config.from_file(alt)
22
22
  else
23
- settings.create(directory,file)
23
+ settings.create(directory, file)
24
24
  end
25
25
  end
26
26
 
27
27
  def api_path(cli)
28
28
  p = PathCreator.new
29
- p.respond_to?(cli[:command]) ? path = p.send(cli[:command], cli) : (puts "Something Bad Happened";exit)
30
- @api = {:path => path[:path], :method => cli[:method], :command => cli[:command], :payload => (path[:payload] || false)}
29
+ p.respond_to?(cli[:command]) ? path = p.send(cli[:command], cli) : (puts 'Something Bad Happened'; exit)
30
+ @api = { :path => path[:path], :method => cli[:method], :command => cli[:command], :payload => (path[:payload] || false) }
31
31
  end
32
32
 
33
33
  def make_call
@@ -46,7 +46,7 @@ module SensuCli
46
46
  msg = api.response(res.code, res.body, @api[:command])
47
47
  if res.code != '200'
48
48
  exit
49
- elsif @format == "single"
49
+ elsif @format == 'single'
50
50
  Pretty.table(msg)
51
51
  else
52
52
  Pretty.print(msg)
data/lib/sensu-cli/cli.rb CHANGED
@@ -10,10 +10,10 @@ module SensuCli
10
10
  EVENT_COMMANDS = %w(list show delete)
11
11
  STASH_COMMANDS = %w(list show delete create)
12
12
  AGG_COMMANDS = %w(list show delete)
13
- SIL_COMMANDS = ""
14
- RES_COMMANDS = ""
15
- INFO_COMMANDS = ""
16
- HEALTH_COMMANDS = ""
13
+ SIL_COMMANDS = ''
14
+ RES_COMMANDS = ''
15
+ INFO_COMMANDS = ''
16
+ HEALTH_COMMANDS = ''
17
17
 
18
18
  CLIENT_BANNER = <<-EOS.gsub(/^ {10}/, '')
19
19
  ** Client Commands **
@@ -49,7 +49,6 @@ module SensuCli
49
49
  sensu-cli stash delete STASHPATH
50
50
  sensu-cli stash create PATH\n\r
51
51
  EOS
52
- #apost '/stashes'
53
52
  AGG_BANNER = <<-EOS.gsub(/^ {10}/, '')
54
53
  ** Aggregate Commands **
55
54
  sensu-cli aggregate list (OPTIONS)
@@ -110,7 +109,7 @@ module SensuCli
110
109
  end
111
110
 
112
111
  def deep_merge(hash_one, hash_two)
113
- hash_one.merge(hash_two) {|key, hash_one_item, hash_two_item| deep_merge(hash_one_item, hash_two_item)}
112
+ hash_one.merge(hash_two) { |key, hash_one_item, hash_two_item| deep_merge(hash_one_item, hash_two_item) }
114
113
  end
115
114
 
116
115
  def parser(cli)
@@ -120,7 +119,7 @@ module SensuCli
120
119
  end
121
120
  end
122
121
 
123
- def explode_if_empty(opts,command)
122
+ def explode_if_empty(opts, command)
124
123
  explode(opts) if ARGV.empty? && command != 'list'
125
124
  end
126
125
 
@@ -129,172 +128,172 @@ module SensuCli
129
128
  end
130
129
 
131
130
  def client
132
- opts = parser("CLIENT")
131
+ opts = parser('CLIENT')
133
132
  command = next_argv
134
- explode_if_empty(opts,command)
133
+ explode_if_empty(opts, command)
135
134
  case command
136
135
  when 'list'
137
136
  p = Trollop::options do
138
- opt :limit, "The number if clients to return", :short => "l", :type => :string
139
- opt :offset, "The number of clients to offset before returning", :short => "o", :type => :string
140
- opt :format, "Available formats; single (single line formatting)", :short => "f", :type => :string
137
+ opt :limit, 'The number if clients to return', :short => 'l', :type => :string
138
+ opt :offset, 'The number of clients to offset before returning', :short => 'o', :type => :string
139
+ opt :format, 'Available formats; single (single line formatting)', :short => 'f', :type => :string
141
140
  end
142
- Trollop::die :format, "Available optional formats: single".color(:red) if p[:format] && p[:format] != "single"
143
- Trollop::die :offset, "Offset depends on the limit option --limit ( -l )".color(:red) if p[:offset] && !p[:limit]
144
- cli = {:command => 'clients', :method => 'Get', :fields => p}
141
+ Trollop::die :format, 'Available optional formats: single'.color(:red) if p[:format] && p[:format] != 'single'
142
+ Trollop::die :offset, 'Offset depends on the limit option --limit ( -l )'.color(:red) if p[:offset] && !p[:limit]
143
+ { :command => 'clients', :method => 'Get', :fields => p }
145
144
  when 'delete'
146
145
  p = Trollop::options
147
- item = next_argv #the ARGV.shift needs to happen after Trollop::options to catch --help
148
- deep_merge({:command => 'clients', :method => 'Delete', :fields => {:name => item}},{:fields => p})
146
+ item = next_argv # the ARGV.shift needs to happen after Trollop::options to catch --help
147
+ deep_merge({ :command => 'clients', :method => 'Delete', :fields => { :name => item } }, { :fields => p })
149
148
  when 'show'
150
149
  p = Trollop::options
151
150
  item = next_argv
152
- deep_merge({:command => 'clients', :method => 'Get', :fields => {:name => item}},{:fields => p})
151
+ deep_merge({ :command => 'clients', :method => 'Get', :fields => { :name => item } }, { :fields => p })
153
152
  when 'history'
154
153
  p = Trollop::options
155
154
  item = next_argv
156
- deep_merge({:command => 'clients', :method => 'Get', :fields => {:name => item, :history => true}},{:fields => p})
155
+ deep_merge({ :command => 'clients', :method => 'Get', :fields => { :name => item, :history => true } }, { :fields => p })
157
156
  else
158
157
  explode(opts)
159
158
  end
160
159
  end
161
160
 
162
161
  def info
163
- parser("INFO")
162
+ parser('INFO')
164
163
  p = Trollop::options
165
- cli = {:command => 'info', :method => 'Get', :fields => p}
164
+ { :command => 'info', :method => 'Get', :fields => p }
166
165
  end
167
166
 
168
167
  def health
169
- opts = parser("HEALTH")
168
+ opts = parser('HEALTH')
170
169
  p = Trollop::options do
171
- opt :consumers, "The minimum number of consumers", :short => "c", :type => :string, :required => true
172
- opt :messages, "The maximum number of messages", :short => "m", :type => :string, :required => true
170
+ opt :consumers, 'The minimum number of consumers', :short => 'c', :type => :string, :required => true
171
+ opt :messages, 'The maximum number of messages', :short => 'm', :type => :string, :required => true
173
172
  end
174
- cli = {:command => 'health', :method => 'Get', :fields => p}
173
+ { :command => 'health', :method => 'Get', :fields => p }
175
174
  end
176
175
 
177
176
  def check
178
- opts = parser("CHECK")
177
+ opts = parser('CHECK')
179
178
  command = next_argv
180
- explode_if_empty(opts,command)
179
+ explode_if_empty(opts, command)
181
180
  p = Trollop::options
182
181
  item = next_argv
183
182
  case command
184
183
  when 'list'
185
- cli = {:command => 'checks', :method => 'Get', :fields => p}
184
+ { :command => 'checks', :method => 'Get', :fields => p }
186
185
  when 'show'
187
- deep_merge({:command => 'checks', :method => 'Get', :fields => {:name => item}},{:fields => p})
186
+ deep_merge({ :command => 'checks', :method => 'Get', :fields => { :name => item } }, { :fields => p })
188
187
  when 'request'
189
- ARGV.empty? ? explode(opts) : subscribers = next_argv.split(",")
190
- deep_merge({:command => 'checks', :method => 'Post', :fields => {:check => item, :subscribers => subscribers}},{:fields => p})
188
+ ARGV.empty? ? explode(opts) : subscribers = next_argv.split(',')
189
+ deep_merge({ :command => 'checks', :method => 'Post', :fields => { :check => item, :subscribers => subscribers } }, { :fields => p })
191
190
  else
192
191
  explode(opts)
193
192
  end
194
193
  end
195
194
 
196
195
  def event
197
- opts = parser("EVENT")
196
+ opts = parser('EVENT')
198
197
  command = next_argv
199
- explode_if_empty(opts,command)
198
+ explode_if_empty(opts, command)
200
199
  case command
201
200
  when 'list'
202
201
  p = Trollop::options do
203
- opt :format, "Available formats; single (single line formatting)", :short => "f", :type => :string
202
+ opt :format, 'Available formats; single (single line formatting)', :short => 'f', :type => :string
204
203
  end
205
- Trollop::die :format, "Available optional formats: single".color(:red) if p[:format] && p[:format] != "single"
206
- cli = {:command => 'events', :method => 'Get', :fields => p}
204
+ Trollop::die :format, 'Available optional formats: single'.color(:red) if p[:format] && p[:format] != 'single'
205
+ { :command => 'events', :method => 'Get', :fields => p }
207
206
  when 'show'
208
207
  p = Trollop::options do
209
- opt :check, "Returns the check associated with the client", :short => "k", :type => :string
208
+ opt :check, 'Returns the check associated with the client', :short => 'k', :type => :string
210
209
  end
211
210
  item = next_argv
212
- deep_merge({:command => 'events', :method => 'Get', :fields => {:client => item}},{:fields => p})
211
+ deep_merge({ :command => 'events', :method => 'Get', :fields => { :client => item } }, { :fields => p })
213
212
  when 'delete'
214
213
  p = Trollop::options
215
214
  item = next_argv
216
215
  check = next_argv
217
216
  explode(opts) if check == nil
218
- deep_merge({:command => 'events', :method => 'Delete', :fields => {:client => item, :check => check}},{:fields => p})
217
+ deep_merge({ :command => 'events', :method => 'Delete', :fields => { :client => item, :check => check } }, { :fields => p })
219
218
  else
220
219
  explode(opts)
221
220
  end
222
221
  end
223
222
 
224
223
  def stash
225
- opts = parser("STASH")
224
+ opts = parser('STASH')
226
225
  command = next_argv
227
- explode_if_empty(opts,command)
226
+ explode_if_empty(opts, command)
228
227
  case command
229
228
  when 'list'
230
229
  p = Trollop::options do
231
- opt :limit, "The number of stashes to return", :short => "l", :type => :string
232
- opt :offset, "The number of stashes to offset before returning", :short => "o", :type => :string
230
+ opt :limit, 'The number of stashes to return', :short => 'l', :type => :string
231
+ opt :offset, 'The number of stashes to offset before returning', :short => 'o', :type => :string
233
232
  end
234
- Trollop::die :offset, "Offset depends on the limit option --limit ( -l )".color(:red) if p[:offset] && !p[:limit]
235
- cli = {:command => 'stashes', :method => 'Get', :fields => p}
233
+ Trollop::die :offset, 'Offset depends on the limit option --limit ( -l )'.color(:red) if p[:offset] && !p[:limit]
234
+ { :command => 'stashes', :method => 'Get', :fields => p }
236
235
  when 'show'
237
236
  p = Trollop::options
238
237
  item = next_argv
239
- deep_merge({:command => 'stashes', :method => 'Get', :fields => {:path => item}},{:fields => p})
238
+ deep_merge({ :command => 'stashes', :method => 'Get', :fields => { :path => item } }, { :fields => p })
240
239
  when 'delete'
241
240
  p = Trollop::options
242
241
  item = next_argv
243
- deep_merge({:command => 'stashes', :method => 'Delete', :fields => {:path => item}},{:fields => p})
242
+ deep_merge({ :command => 'stashes', :method => 'Delete', :fields => { :path => item } }, { :fields => p })
244
243
  when 'create'
245
244
  p = Trollop::options
246
245
  item = next_argv
247
- deep_merge({:command => 'stashes', :method => 'Post', :fields => {:create => true, :create_path => item}},{:fields => p})
246
+ deep_merge({ :command => 'stashes', :method => 'Post', :fields => { :create => true, :create_path => item } }, { :fields => p })
248
247
  else
249
248
  explode(opts)
250
249
  end
251
250
  end
252
251
 
253
252
  def aggregate
254
- opts = parser("AGG")
253
+ opts = parser('AGG')
255
254
  command = next_argv
256
- explode_if_empty(opts,command)
255
+ explode_if_empty(opts, command)
257
256
  case command
258
257
  when 'list'
259
258
  p = Trollop::options
260
- cli = {:command => 'aggregates', :method => 'Get', :fields => p}
259
+ { :command => 'aggregates', :method => 'Get', :fields => p }
261
260
  when 'show'
262
261
  p = Trollop::options do
263
- opt :id, "The id of the check issued.", :short=>"i", :type => :integer
264
- opt :limit, "The number of aggregates to return", :short => "l", :type => :string
265
- opt :offset, "The number of aggregates to offset before returning", :short => "o", :type => :string
266
- #opt :results, "Include the check results", :short => "r", :type => :boolean
262
+ opt :id, 'The id of the check issued.', :short => 'i', :type => :integer
263
+ opt :limit, 'The number of aggregates to return', :short => 'l', :type => :string
264
+ opt :offset, 'The number of aggregates to offset before returning', :short => 'o', :type => :string
265
+ # opt :results, 'Include the check results', :short => 'r', :type => :boolean
267
266
  end
268
- Trollop::die :offset, "Offset depends on the limit option --limit ( -l )".color(:red) if p[:offset] && !p[:limit]
267
+ Trollop::die :offset, 'Offset depends on the limit option --limit ( -l )'.color(:red) if p[:offset] && !p[:limit]
269
268
  item = next_argv
270
- deep_merge({:command => 'aggregates', :method => 'Get', :fields => {:check => item}},{:fields => p})
269
+ deep_merge({ :command => 'aggregates', :method => 'Get', :fields => { :check => item } }, { :fields => p })
271
270
  when 'delete'
272
271
  p = Trollop::options
273
272
  item = next_argv
274
- deep_merge({:command => 'aggregates', :method => 'Delete', :fields => {:check => item}},{:fields => p})
273
+ deep_merge({ :command => 'aggregates', :method => 'Delete', :fields => { :check => item } }, { :fields => p })
275
274
  else
276
275
  explode(opts)
277
276
  end
278
277
  end
279
278
 
280
279
  def silence
281
- opts = parser("SIL")
280
+ opts = parser('SIL')
282
281
  p = Trollop::options do
283
- opt :check, "The check to silence (requires --client)", :short => 'k', :type => :string
284
- opt :reason, "The reason this check/node is being silenced", :short => 'r', :type => :string
285
- opt :expires, "The number of minutes the silenced event is valid (must use with check-stashes plugin)", :short => 'e', :type => :integer
282
+ opt :check, 'The check to silence (requires --client)', :short => 'k', :type => :string
283
+ opt :reason, 'The reason this check/node is being silenced', :short => 'r', :type => :string
284
+ opt :expires, 'The number of minutes the silenced event is valid (must use with check-stashes plugin)', :short => 'e', :type => :integer
286
285
  end
287
286
  command = next_argv
288
287
  explode(opts) if command == nil
289
- deep_merge({:command => 'silence', :method => 'Post', :fields => {:client => command}},{:fields => p})
288
+ deep_merge({ :command => 'silence', :method => 'Post', :fields => { :client => command } }, { :fields => p })
290
289
  end
291
290
 
292
291
  def resolve
293
- opts = parser("RES")
292
+ opts = parser('RES')
294
293
  command = next_argv
295
294
  p = Trollop::options
296
295
  ARGV.empty? ? explode(opts) : check = next_argv
297
- deep_merge({:command => 'resolve', :method => 'Post', :fields => {:client => command, :check => check}},{:fields => p})
296
+ deep_merge({ :command => 'resolve', :method => 'Post', :fields => { :client => command, :check => check } }, { :fields => p })
298
297
  end
299
298
 
300
299
  end
@@ -5,7 +5,7 @@ module SensuCli
5
5
  class Editor
6
6
 
7
7
  def create_stash(create_path)
8
- file = temp_file({:path => create_path, :content => {:timestamp => Time.now.to_i }})
8
+ file = temp_file({ :path => create_path, :content => { :timestamp => Time.now.to_i } })
9
9
  edit(file)
10
10
  end
11
11
 
@@ -15,7 +15,7 @@ module SensuCli
15
15
  begin
16
16
  JSON.parse(File.read(file))
17
17
  rescue JSON::ParserError
18
- puts "The stash you created has Invalid JSON."
18
+ puts 'The stash you created has Invalid JSON.'
19
19
  exit
20
20
  end
21
21
  end
@@ -2,15 +2,15 @@ module SensuCli
2
2
  class PathCreator
3
3
 
4
4
  def clients(cli)
5
- path = "/clients"
5
+ path = '/clients'
6
6
  path << "/#{cli[:fields][:name]}" if cli[:fields][:name]
7
- path << "/history" if cli[:fields][:history]
7
+ path << '/history' if cli[:fields][:history]
8
8
  path << pagination(cli)
9
9
  respond(path)
10
10
  end
11
11
 
12
12
  def info(cli)
13
- path = "/info"
13
+ path = '/info'
14
14
  respond(path)
15
15
  end
16
16
 
@@ -24,53 +24,53 @@ module SensuCli
24
24
  e = Editor.new
25
25
  payload = e.create_stash(cli[:fields][:create_path]).to_json
26
26
  end
27
- path = "/stashes"
27
+ path = '/stashes'
28
28
  path << "/#{cli[:fields][:path]}" if cli[:fields][:path]
29
29
  path << pagination(cli)
30
- respond(path,payload)
30
+ respond(path, payload)
31
31
  end
32
32
 
33
33
  def checks(cli)
34
34
  if cli[:fields][:name]
35
35
  path = "/check/#{cli[:fields][:name]}"
36
36
  elsif cli[:fields][:subscribers]
37
- payload = {:check => cli[:fields][:check],:subscribers => cli[:fields][:subscribers]}.to_json
38
- path = "/check/request"
37
+ payload = { :check => cli[:fields][:check], :subscribers => cli[:fields][:subscribers] }.to_json
38
+ path = '/check/request'
39
39
  else
40
- path = "/checks"
40
+ path = '/checks'
41
41
  end
42
- respond(path,payload)
42
+ respond(path, payload)
43
43
  end
44
44
 
45
45
  def events(cli)
46
- path = "/events"
46
+ path = '/events'
47
47
  path << "/#{cli[:fields][:client]}" if cli[:fields][:client]
48
48
  path << "/#{cli[:fields][:check]}" if cli[:fields][:check]
49
49
  respond(path)
50
50
  end
51
51
 
52
52
  def resolve(cli)
53
- payload = {:client => cli[:fields][:client], :check => cli[:fields][:check]}.to_json
54
- path = "/event/resolve"
55
- respond(path,payload)
53
+ payload = { :client => cli[:fields][:client], :check => cli[:fields][:check] }.to_json
54
+ path = '/event/resolve'
55
+ respond(path, payload)
56
56
  end
57
57
 
58
58
  def silence(cli)
59
- payload = {:timestamp => Time.now.to_i}
60
- payload.merge!({:reason => cli[:fields][:reason]}) if cli[:fields][:reason]
59
+ payload = { :timestamp => Time.now.to_i }
60
+ payload.merge!({ :reason => cli[:fields][:reason] }) if cli[:fields][:reason]
61
61
  if cli[:fields][:expires]
62
62
  expires = Time.now.to_i + (cli[:fields][:expires] * 60)
63
- payload.merge!({:expires => expires})
63
+ payload.merge!({ :expires => expires })
64
64
  end
65
65
  payload = payload.to_json
66
- path = "/stashes/silence"
66
+ path = '/stashes/silence'
67
67
  path << "/#{cli[:fields][:client]}" if cli[:fields][:client]
68
68
  path << "/#{cli[:fields][:check]}" if cli[:fields][:check]
69
- respond(path,payload)
69
+ respond(path, payload)
70
70
  end
71
71
 
72
72
  def aggregates(cli)
73
- path = "/aggregates"
73
+ path = '/aggregates'
74
74
  path << "/#{cli[:fields][:check]}" if cli[:fields][:check]
75
75
  path << "/#{cli[:fields][:id]}" if cli[:fields][:id]
76
76
  path << pagination(cli)
@@ -83,7 +83,7 @@ module SensuCli
83
83
  elsif cli[:fields].has_key?(:limit)
84
84
  page = "?limit=#{cli[:fields][:limit]}"
85
85
  else
86
- page = ""
86
+ page = ''
87
87
  end
88
88
  end
89
89
 
@@ -91,8 +91,8 @@ module SensuCli
91
91
  puts "Path method: #{method_name} does not exist. "
92
92
  end
93
93
 
94
- def respond(path,payload=false)
95
- {:path => path, :payload => payload}
94
+ def respond(path, payload = false)
95
+ { :path => path, :payload => payload }
96
96
  end
97
97
 
98
98
  end
@@ -6,14 +6,14 @@ module SensuCli
6
6
  def self.print(res)
7
7
  if !res.empty?
8
8
  if res.is_a?(Hash)
9
- res.each do |key,value|
9
+ res.each do |key, value|
10
10
  puts "#{key}: ".color(:cyan) + "#{value}".color(:green)
11
11
  end
12
12
  elsif res.is_a?(Array)
13
13
  res.each do |item|
14
- puts "-------".color(:yellow)
14
+ puts '-------'.color(:yellow)
15
15
  if item.is_a?(Hash)
16
- item.each do |key,value|
16
+ item.each do |key, value|
17
17
  puts "#{key}: ".color(:cyan) + "#{value}".color(:green)
18
18
  end
19
19
  else
@@ -22,7 +22,7 @@ module SensuCli
22
22
  end
23
23
  end
24
24
  else
25
- puts "no values for this request".color(:cyan)
25
+ puts 'no values for this request'.color(:cyan)
26
26
  end
27
27
  end
28
28
 
@@ -32,36 +32,36 @@ module SensuCli
32
32
  end
33
33
 
34
34
  def self.clean(thing)
35
- thing = thing.gsub("\n",'/\n') if thing.is_a?(String)
35
+ thing = thing.gsub("\n", '/\n') if thing.is_a?(String)
36
36
  thing
37
37
  end
38
38
 
39
39
  def self.table(res)
40
40
  if !res.empty?
41
41
  if res.is_a?(Array)
42
- keys = res.map{|item| item.keys}.flatten.uniq.sort
42
+ keys = res.map { |item| item.keys }.flatten.uniq.sort
43
43
 
44
44
  # Remove fields with spaces (breaks awkage)
45
45
  keys.select! do |key|
46
- res.none?{|item| item[key].to_s.include?(' ')}
46
+ res.none? { |item| item[key].to_s.include?(' ') }
47
47
  end
48
48
 
49
49
  # Find max value lengths
50
50
  value_lengths = {}
51
51
  keys.each do |key|
52
- max_value_length = res.map{|item| item[key].to_s.length}.max
52
+ max_value_length = res.map { |item| item[key].to_s.length }.max
53
53
  value_lengths[key] = [max_value_length, key.length].max
54
54
  end
55
55
 
56
56
  # Print header
57
- format = keys.map {|key| "%-#{value_lengths[key]}s"}.join(' ')
57
+ format = keys.map { |key| "%-#{value_lengths[key]}s" }.join(' ')
58
58
  puts sprintf(format, *keys)
59
59
 
60
60
  # Print value rows
61
61
  res.each do |item|
62
62
  if item.is_a?(Hash)
63
- values = keys.map {|key| item[key]}
64
- format = keys.map {|key| "%-#{value_lengths[key]}s"}.join(' ')
63
+ values = keys.map { |key| item[key] }
64
+ format = keys.map { |key| "%-#{value_lengths[key]}s" }.join(' ')
65
65
  puts sprintf(format, *values)
66
66
  else
67
67
  puts item.to_s.color(:cyan)
@@ -69,7 +69,7 @@ module SensuCli
69
69
  end
70
70
  end
71
71
  else
72
- puts "no values for this request".color(:cyan)
72
+ puts 'no values for this request'.color(:cyan)
73
73
  end
74
74
  end
75
75
 
@@ -9,9 +9,9 @@ module SensuCli
9
9
  !File.readable?(file) ? false : true
10
10
  end
11
11
 
12
- def create(directory,file)
12
+ def create(directory, file)
13
13
  FileUtils.mkdir_p(directory) if !File.directory?(directory)
14
- FileUtils.cp(File.join(File.dirname(__FILE__),"../../settings.example.rb"), file)
14
+ FileUtils.cp(File.join(File.dirname(__FILE__), '../../settings.example.rb'), file)
15
15
  puts "We created the configuration file for you at #{file}. You can also place this in /etc/sensu/sensu-cli. Edit the settings as needed.".color(:red)
16
16
  exit
17
17
  end
@@ -1,3 +1,3 @@
1
1
  module SensuCli
2
- VERSION = '0.2.1'
2
+ VERSION = '0.2.2'
3
3
  end
data/settings.example.rb CHANGED
@@ -1,3 +1,3 @@
1
- host "127.0.0.1"
2
- port "4567"
1
+ host '127.0.0.1'
2
+ port '4567'
3
3
  ssl false
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: