flapjack-diner 1.4.0 → 2.0.0.a4

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rspec +1 -1
  4. data/README.md +620 -413
  5. data/flapjack-diner.gemspec +1 -1
  6. data/lib/flapjack-diner/argument_validator.rb +77 -7
  7. data/lib/flapjack-diner/configuration.rb +409 -0
  8. data/lib/flapjack-diner/index_range.rb +42 -0
  9. data/lib/flapjack-diner/log_formatter.rb +22 -0
  10. data/lib/flapjack-diner/query.rb +114 -0
  11. data/lib/flapjack-diner/relationships.rb +180 -0
  12. data/lib/flapjack-diner/request.rb +280 -0
  13. data/lib/flapjack-diner/resources.rb +64 -0
  14. data/lib/flapjack-diner/response.rb +91 -0
  15. data/lib/flapjack-diner/tools.rb +47 -251
  16. data/lib/flapjack-diner/utility.rb +16 -0
  17. data/lib/flapjack-diner/version.rb +1 -1
  18. data/lib/flapjack-diner.rb +54 -20
  19. data/spec/argument_validator_spec.rb +87 -28
  20. data/spec/flapjack-diner_spec.rb +42 -64
  21. data/spec/relationships_spec.rb +211 -0
  22. data/spec/resources/checks_spec.rb +219 -79
  23. data/spec/resources/contacts_spec.rb +179 -151
  24. data/spec/resources/events_spec.rb +208 -0
  25. data/spec/resources/maintenance_periods_spec.rb +177 -565
  26. data/spec/resources/media_spec.rb +157 -171
  27. data/spec/resources/metrics_spec.rb +45 -0
  28. data/spec/resources/rules_spec.rb +278 -0
  29. data/spec/resources/states_spec.rb +93 -0
  30. data/spec/resources/statistics_spec.rb +53 -0
  31. data/spec/resources/tags_spec.rb +243 -0
  32. data/spec/spec_helper.rb +16 -0
  33. data/spec/support/fixture_data.rb +541 -0
  34. metadata +33 -31
  35. data/.rubocop.yml +0 -21
  36. data/.rubocop_todo.yml +0 -135
  37. data/lib/flapjack-diner/resources/checks.rb +0 -64
  38. data/lib/flapjack-diner/resources/contacts.rb +0 -70
  39. data/lib/flapjack-diner/resources/entities.rb +0 -68
  40. data/lib/flapjack-diner/resources/maintenance_periods.rb +0 -82
  41. data/lib/flapjack-diner/resources/media.rb +0 -61
  42. data/lib/flapjack-diner/resources/notification_rules.rb +0 -66
  43. data/lib/flapjack-diner/resources/notifications.rb +0 -28
  44. data/lib/flapjack-diner/resources/pagerduty_credentials.rb +0 -59
  45. data/lib/flapjack-diner/resources/reports.rb +0 -33
  46. data/spec/pacts/flapjack-diner-flapjack.json +0 -4515
  47. data/spec/resources/entities_spec.rb +0 -181
  48. data/spec/resources/notification_rules_spec.rb +0 -341
  49. data/spec/resources/notifications_spec.rb +0 -208
  50. data/spec/resources/pagerduty_credentials_spec.rb +0 -237
  51. data/spec/resources/reports_spec.rb +0 -255
data/spec/spec_helper.rb CHANGED
@@ -21,6 +21,19 @@ require 'pact/consumer/rspec'
21
21
 
22
22
  $:.unshift(File.dirname(__FILE__) + '/../lib')
23
23
 
24
+ # Requires supporting files with custom matchers and macros, etc,
25
+ # in ./support/ and its subdirectories.
26
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
27
+
28
+ # ISO8601_RE = %r{^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\.[0-9]+)?(Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?$}
29
+
30
+ ISO8601_PAT = "(?:[1-9][0-9]*)?[0-9]{4}-" \
31
+ "(?:1[0-2]|0[1-9])-" \
32
+ "(?:3[0-1]|0[1-9]|[1-2][0-9])T" \
33
+ "(?:2[0-3]|[0-1][0-9]):" \
34
+ "[0-5][0-9]:[0-5][0-9](?:\\.[0-9]+)?" \
35
+ "(?:Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?"
36
+
24
37
  Pact.service_consumer 'flapjack-diner' do
25
38
 
26
39
  has_pact_with "flapjack" do
@@ -40,4 +53,7 @@ RSpec.configure do |config|
40
53
  # the seed, which is printed after each run.
41
54
  # --seed 1234
42
55
  config.order = 'random'
56
+
57
+ config.include ::FixtureData
58
+
43
59
  end
@@ -0,0 +1,541 @@
1
+ module FixtureData
2
+
3
+ # Not RSpec shared context, so it can be used in the pact provider too
4
+
5
+ def default_tear_down
6
+ Flapjack.logger.messages.clear
7
+ Flapjack.redis.flushdb
8
+ end
9
+
10
+ def api_host
11
+ 'example.org'
12
+ end
13
+
14
+ def fixture_time
15
+ @fixture_time ||= Time.now
16
+ end
17
+
18
+ def resultify(data)
19
+ ret = nil
20
+ case data
21
+ when Array
22
+ ret = data.inject([]) do |memo, d|
23
+ attrs = d[:attributes] || {}
24
+ d.each_pair do |k, v|
25
+ next if :attributes.eql?(k)
26
+ attrs.update(k => v)
27
+ end
28
+ memo += [attrs]
29
+ memo
30
+ end
31
+ when Hash
32
+ ret = data[:attributes] || {}
33
+ data.each_pair do |k, v|
34
+ next if :attributes.eql?(k)
35
+ ret.update(k => v)
36
+ end
37
+ else
38
+ ret = data
39
+ end
40
+ ret
41
+ end
42
+
43
+ def check_data
44
+ @check_data ||= {
45
+ :id => '1ed80833-6d28-4aba-8603-d81c249b8c23',
46
+ :name => 'www.example.com:SSH',
47
+ :enabled => true
48
+ }
49
+ end
50
+
51
+ def check_2_data
52
+ @check_2_data ||= {
53
+ :id => '29e913cf-29ea-4ae5-94f6-7069cf4a1514',
54
+ :name => 'www2.example.com:PING',
55
+ :enabled => true
56
+ }
57
+ end
58
+
59
+ def check_json(ch_data)
60
+ id = ch_data[:id]
61
+ {
62
+ :id => id,
63
+ :type => 'check',
64
+ :attributes => ch_data.reject {|k,v| :id.eql?(k) }
65
+ }
66
+ end
67
+
68
+ def check_rel(ch_data)
69
+ id = ch_data[:id]
70
+ {
71
+ :alerting_media => {
72
+ :links => {
73
+ :self => "http://#{api_host}/checks/#{id}/relationships/alerting_media",
74
+ :related => "http://#{api_host}/checks/#{id}/alerting_media"
75
+ }
76
+ },
77
+ :contacts => {
78
+ :links => {
79
+ :self => "http://#{api_host}/checks/#{id}/relationships/contacts",
80
+ :related => "http://#{api_host}/checks/#{id}/contacts"
81
+ }
82
+ },
83
+ :current_scheduled_maintenances => {
84
+ :links => {
85
+ :self => "http://#{api_host}/checks/#{id}/relationships/current_scheduled_maintenances",
86
+ :related => "http://#{api_host}/checks/#{id}/current_scheduled_maintenances"
87
+ }
88
+ },
89
+ :current_state => {
90
+ :links => {
91
+ :self => "http://#{api_host}/checks/#{id}/relationships/current_state",
92
+ :related => "http://#{api_host}/checks/#{id}/current_state"
93
+ }
94
+ },
95
+ :current_unscheduled_maintenance => {
96
+ :links => {
97
+ :self => "http://#{api_host}/checks/#{id}/relationships/current_unscheduled_maintenance",
98
+ :related => "http://#{api_host}/checks/#{id}/current_unscheduled_maintenance"
99
+ }
100
+ },
101
+ :latest_notifications => {
102
+ :links => {
103
+ :self => "http://#{api_host}/checks/#{id}/relationships/latest_notifications",
104
+ :related => "http://#{api_host}/checks/#{id}/latest_notifications"
105
+ }
106
+ },
107
+ :scheduled_maintenances => {
108
+ :links => {
109
+ :self => "http://#{api_host}/checks/#{id}/relationships/scheduled_maintenances",
110
+ :related => "http://#{api_host}/checks/#{id}/scheduled_maintenances"
111
+ }
112
+ },
113
+ :states => {
114
+ :links => {
115
+ :self => "http://#{api_host}/checks/#{id}/relationships/states",
116
+ :related => "http://#{api_host}/checks/#{id}/states"
117
+ }
118
+ },
119
+ :tags => {
120
+ :links => {
121
+ :self => "http://#{api_host}/checks/#{id}/relationships/tags",
122
+ :related => "http://#{api_host}/checks/#{id}/tags"
123
+ }
124
+ },
125
+ :unscheduled_maintenances => {
126
+ :links => {
127
+ :self => "http://#{api_host}/checks/#{id}/relationships/unscheduled_maintenances",
128
+ :related => "http://#{api_host}/checks/#{id}/unscheduled_maintenances"
129
+ }
130
+ }
131
+ }
132
+ end
133
+
134
+ def contact_data
135
+ @contact_data ||= {
136
+ :id => 'c248da6f-ab16-4ce3-9b32-afd4e5f5270e',
137
+ :name => 'Jim Smith',
138
+ :timezone => 'UTC',
139
+ }
140
+ end
141
+
142
+ def contact_2_data
143
+ @contact_2_data ||= {
144
+ :id => 'ff41bfbb-0d04-45e3-a4d2-579ed1655fb8',
145
+ :name => 'Joan Smith'
146
+ }
147
+ end
148
+
149
+ def contact_json(co_data)
150
+ id = co_data[:id]
151
+ {
152
+ :id => id,
153
+ :type => 'contact',
154
+ :attributes => co_data.reject {|k,v| :id.eql?(k) }
155
+ }
156
+ end
157
+
158
+ def contact_rel(co_data)
159
+ id = co_data[:id]
160
+ {
161
+ :checks => {
162
+ :links => {
163
+ :self => "http://#{api_host}/contacts/#{id}/relationships/checks",
164
+ :related => "http://#{api_host}/contacts/#{id}/checks"
165
+ }
166
+ },
167
+ :media => {
168
+ :links => {
169
+ :self => "http://#{api_host}/contacts/#{id}/relationships/media",
170
+ :related => "http://#{api_host}/contacts/#{id}/media"
171
+ }
172
+ },
173
+ :rules => {
174
+ :links => {
175
+ :self => "http://#{api_host}/contacts/#{id}/relationships/rules",
176
+ :related => "http://#{api_host}/contacts/#{id}/rules"
177
+ }
178
+ },
179
+ :tags => {
180
+ :links => {
181
+ :self => "http://#{api_host}/contacts/#{id}/relationships/tags",
182
+ :related => "http://#{api_host}/contacts/#{id}/tags"
183
+ }
184
+ }
185
+ }
186
+ end
187
+
188
+ def scheduled_maintenance_data
189
+ @scheduled_maintenance_data ||= {
190
+ :id => '9b7a7af4-8251-4216-8e86-2d4068447ae4',
191
+ :start_time => fixture_time.iso8601,
192
+ :end_time => (fixture_time + 3_600).iso8601,
193
+ :summary => 'working'
194
+ }
195
+ end
196
+
197
+ def scheduled_maintenance_2_data
198
+ @scheduled_maintenance_2_data ||= {
199
+ :id => '5a84c82b-0acb-4703-a27e-0b0db50b298a',
200
+ :start_time => (fixture_time + 7_200).iso8601,
201
+ :end_time => (fixture_time + 10_800).iso8601,
202
+ :summary => 'working'
203
+ }
204
+ end
205
+
206
+ def unscheduled_maintenance_data
207
+ @unscheduled_maintenance_data ||= {
208
+ :id => '9b7a7af4-8251-4216-8e86-2d4068447ae4',
209
+ :start_time => fixture_time.iso8601,
210
+ :end_time => (fixture_time + 3_600).iso8601,
211
+ :summary => 'working'
212
+ }
213
+ end
214
+
215
+ def unscheduled_maintenance_2_data
216
+ @unscheduled_maintenance_2_data ||= {
217
+ :id => '41895714-9b77-48a9-a373-5f6005b1ce95',
218
+ :start_time => (fixture_time + 4_700).iso8601,
219
+ :end_time => (fixture_time + 5_400).iso8601,
220
+ :summary => 'partly working'
221
+ }
222
+ end
223
+
224
+ def maintenance_json(type, m_data)
225
+ {
226
+ :id => m_data[:id],
227
+ :type => "#{type}_maintenance",
228
+ :attributes => m_data.reject {|k,v| :id.eql?(k) }
229
+ }
230
+ end
231
+
232
+ def maintenance_rel(type, m_data)
233
+ id = m_data[:id]
234
+ {
235
+ :check => {
236
+ :links => {
237
+ :self => "http://#{api_host}/#{type}_maintenances/#{id}/relationships/check",
238
+ :related => "http://#{api_host}/#{type}_maintenances/#{id}/check"
239
+ }
240
+ }
241
+ }
242
+ end
243
+
244
+ def sms_data
245
+ @sms_data ||= {
246
+ :id => 'e2e09943-ed6c-476a-a8a5-ec165426f298',
247
+ :transport => 'sms',
248
+ :address => '0123456789',
249
+ :interval => 300,
250
+ :rollup_threshold => 5,
251
+ :pagerduty_subdomain => nil,
252
+ :pagerduty_token => nil,
253
+ :pagerduty_ack_duration => nil
254
+ }
255
+ end
256
+
257
+ def email_data
258
+ @email_data ||= {
259
+ :id => '9156de3c-ddc6-4637-b1cc-bd035fd61dd3',
260
+ :transport => 'email',
261
+ :address => 'ablated@example.org',
262
+ :interval => 180,
263
+ :rollup_threshold => 3,
264
+ :pagerduty_subdomain => nil,
265
+ :pagerduty_token => nil,
266
+ :pagerduty_ack_duration => nil
267
+ }
268
+ end
269
+
270
+ def medium_json(me_data)
271
+ id = me_data[:id]
272
+ {
273
+ :id => id,
274
+ :type => 'medium',
275
+ :attributes => me_data.reject {|k,v| :id.eql?(k) }
276
+ }
277
+ end
278
+
279
+ def medium_rel(me_data)
280
+ id = me_data[:id]
281
+ {
282
+ :alerting_checks => {
283
+ :links => {
284
+ :self => "http://#{api_host}/media/#{id}/relationships/alerting_checks",
285
+ :related => "http://#{api_host}/media/#{id}/alerting_checks"
286
+ }
287
+ },
288
+ :contact => {
289
+ :links => {
290
+ :self => "http://#{api_host}/media/#{id}/relationships/contact",
291
+ :related => "http://#{api_host}/media/#{id}/contact"
292
+ }
293
+ },
294
+ :rules => {
295
+ :links => {
296
+ :self => "http://#{api_host}/media/#{id}/relationships/rules",
297
+ :related => "http://#{api_host}/media/#{id}/rules"
298
+ }
299
+ }
300
+ }
301
+ end
302
+
303
+ def rule_data
304
+ @rule_data ||= {
305
+ :id => '05983623-fcef-42da-af44-ed6990b500fa',
306
+ :enabled => true,
307
+ :blackhole => false,
308
+ :strategy => 'all_tags',
309
+ :conditions_list => 'critical'
310
+ }
311
+ end
312
+
313
+ def rule_2_data
314
+ @rule_2_data ||= {
315
+ :id => '20f182fc-6e32-4794-9007-97366d162c51',
316
+ :enabled => true,
317
+ :blackhole => true,
318
+ :strategy => 'all_tags',
319
+ :conditions_list => 'warning'
320
+ }
321
+ end
322
+
323
+ def rule_json(ru_data)
324
+ {
325
+ :id => ru_data[:id],
326
+ :type => 'rule',
327
+ :attributes => ru_data.reject {|k,v| :id.eql?(k) }
328
+ }
329
+ end
330
+
331
+ def rule_rel(ru_data)
332
+ id = ru_data[:id]
333
+ {
334
+ :contact => {
335
+ :links => {
336
+ :self => "http://#{api_host}/rules/#{id}/relationships/contact",
337
+ :related => "http://#{api_host}/rules/#{id}/contact"
338
+ }
339
+ },
340
+ :media => {
341
+ :links => {
342
+ :self => "http://#{api_host}/rules/#{id}/relationships/media",
343
+ :related => "http://#{api_host}/rules/#{id}/media"
344
+ }
345
+ },
346
+ :tags => {
347
+ :links => {
348
+ :self => "http://#{api_host}/rules/#{id}/relationships/tags",
349
+ :related => "http://#{api_host}/rules/#{id}/tags"
350
+ }
351
+ }
352
+ }
353
+ end
354
+
355
+ def state_data
356
+ @state_data ||= {
357
+ :id => '142acf62-31e7-4074-ada9-a30ae73d880d',
358
+ :created_at => (fixture_time - 30).iso8601,
359
+ :updated_at => (fixture_time - 30).iso8601,
360
+ :condition => 'critical',
361
+ }
362
+ end
363
+
364
+ def state_2_data
365
+ @state_2_data ||= {
366
+ :id => '008d78fc-1c72-4c2a-8057-0d44b64c6f3d',
367
+ :created_at => (fixture_time - 10).iso8601,
368
+ :updated_at => (fixture_time - 10).iso8601,
369
+ :condition => 'ok',
370
+ }
371
+ end
372
+
373
+ def state_json(st_data)
374
+ id = st_data[:id]
375
+ {
376
+ :id => id,
377
+ :type => 'state',
378
+ :attributes => st_data.reject {|k,v| :id.eql?(k) }
379
+ }
380
+ end
381
+
382
+ def state_rel(st_data)
383
+ id = st_data[:id]
384
+ {
385
+ :check => {
386
+ :links => {
387
+ :self => "http://#{api_host}/states/#{id}/relationships/check",
388
+ :related => "http://#{api_host}/states/#{id}/check"
389
+ }
390
+ }
391
+ }
392
+ end
393
+
394
+ def tag_data
395
+ @tag_data ||= {
396
+ :id => '1850b8d7-1055-4a6e-9c96-f8f50e55bd0f',
397
+ :name => 'database',
398
+ }
399
+ end
400
+
401
+ def tag_2_data
402
+ @tag_2_data ||= {
403
+ :id => 'c7a12328-8902-4974-8efa-68ec3e284507',
404
+ :name => 'physical',
405
+ }
406
+ end
407
+
408
+ def tag_json(ta_data)
409
+ id = ta_data[:id]
410
+ {
411
+ :id => id,
412
+ :type => 'tag',
413
+ :attributes => ta_data.reject {|k,v| :id.eql?(k) }
414
+ }
415
+ end
416
+
417
+ def tag_rel(ta_data)
418
+ id = ta_data[:id]
419
+ {
420
+ :checks => {
421
+ :links => {
422
+ :self => "http://#{api_host}/tags/#{id}/relationships/checks",
423
+ :related => "http://#{api_host}/tags/#{id}/checks"
424
+ }
425
+ },
426
+ :contacts => {
427
+ :links => {
428
+ :self => "http://#{api_host}/tags/#{id}/relationships/contacts",
429
+ :related => "http://#{api_host}/tags/#{id}/contacts"
430
+ }
431
+ },
432
+ :rules => {
433
+ :links => {
434
+ :self => "http://#{api_host}/tags/#{id}/relationships/rules",
435
+ :related => "http://#{api_host}/tags/#{id}/rules"
436
+ }
437
+ },
438
+ :scheduled_maintenances => {
439
+ :links => {
440
+ :self => "http://#{api_host}/tags/#{id}/relationships/scheduled_maintenances",
441
+ :related => "http://#{api_host}/tags/#{id}/scheduled_maintenances"
442
+ }
443
+ },
444
+ :states => {
445
+ :links => {
446
+ :self => "http://#{api_host}/tags/#{id}/relationships/states",
447
+ :related => "http://#{api_host}/tags/#{id}/states"
448
+ }
449
+ },
450
+ :unscheduled_maintenances => {
451
+ :links => {
452
+ :self => "http://#{api_host}/tags/#{id}/relationships/unscheduled_maintenances",
453
+ :related => "http://#{api_host}/tags/#{id}/unscheduled_maintenances"
454
+ }
455
+ }
456
+ }
457
+ end
458
+
459
+ def metrics_data
460
+ @metrics_data ||= {
461
+ # :total_keys => 0, # test behaviour is inconsistent
462
+ :processed_events => {
463
+ :all_events => 0,
464
+ :ok_events => 0,
465
+ :failure_events => 0,
466
+ :action_events => 0,
467
+ :invalid_events => 0
468
+ },
469
+ :event_queue_length => 0,
470
+ :check_freshness => {:"0" => 0, :"60" => 0, :"300" => 0, :"900" => 0, :"3600" => 0},
471
+ :check_counts => {:all => 0, :enabled => 0, :failing => 0}
472
+ }
473
+ end
474
+
475
+ def metrics_json(met_data)
476
+ {
477
+ :type => 'metrics',
478
+ :attributes => met_data.reject {|k,v| :id.eql?(k) }
479
+ }
480
+ end
481
+
482
+ def global_statistics_data
483
+ @global_statistics_data ||= {
484
+ :id => 'c63f8029-7c2b-4a33-b9f9-fbb2228c8037',
485
+ :instance_name => 'global',
486
+ :created_at => fixture_time.iso8601,
487
+ :all_events => 0,
488
+ :ok_events => 0,
489
+ :failure_events => 0,
490
+ :action_events => 0,
491
+ :invalid_events => 0
492
+ }
493
+ end
494
+
495
+ def global_statistics_json
496
+ {
497
+ :id => global_statistics_data[:id],
498
+ :type => 'statistic',
499
+ :attributes => global_statistics_data.reject {|k,v| :id.eql?(k) }
500
+ }
501
+ end
502
+
503
+ def acknowledgement_data
504
+ @acknowledgement_data ||= {
505
+ :id => '31b9378f-ae1c-4c78-ad34-2b35407c8bbd',
506
+ :duration => 2 * 60 * 60,
507
+ :summary => 'Giraffe'
508
+ }
509
+ end
510
+
511
+ def acknowledgement_json(ack_data)
512
+ {
513
+ :id => ack_data[:id],
514
+ :type => 'acknowledgement',
515
+ :attributes => ack_data.reject {|k,v| :id.eql?(k) }
516
+ }
517
+ end
518
+
519
+ def test_notification_data
520
+ @test_notification_data ||= {
521
+ :id => '8f78b421-4e89-4423-ab09-c0d76b4a698c',
522
+ :summary => 'Rhinoceros'
523
+ }
524
+ end
525
+
526
+ def test_notification_2_data
527
+ @test_notification_2_data ||= {
528
+ :id => 'a56c6ca5-c3c0-453d-96da-d09d459615e4',
529
+ :summary => 'Tapir'
530
+ }
531
+ end
532
+
533
+ def test_notification_json(tn_data)
534
+ {
535
+ :id => tn_data[:id],
536
+ :type => 'test_notification',
537
+ :attributes => tn_data.reject {|k,v| :id.eql?(k) }
538
+ }
539
+ end
540
+
541
+ end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flapjack-diner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 2.0.0.a4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ali Graham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-30 00:00:00.000000000 Z
11
+ date: 2015-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '0.10'
19
+ version: 0.13.5
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '0.10'
26
+ version: 0.13.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -47,8 +47,6 @@ extra_rdoc_files: []
47
47
  files:
48
48
  - ".gitignore"
49
49
  - ".rspec"
50
- - ".rubocop.yml"
51
- - ".rubocop_todo.yml"
52
50
  - ".travis.yml"
53
51
  - Gemfile
54
52
  - LICENSE
@@ -57,31 +55,33 @@ files:
57
55
  - flapjack-diner.gemspec
58
56
  - lib/flapjack-diner.rb
59
57
  - lib/flapjack-diner/argument_validator.rb
60
- - lib/flapjack-diner/resources/checks.rb
61
- - lib/flapjack-diner/resources/contacts.rb
62
- - lib/flapjack-diner/resources/entities.rb
63
- - lib/flapjack-diner/resources/maintenance_periods.rb
64
- - lib/flapjack-diner/resources/media.rb
65
- - lib/flapjack-diner/resources/notification_rules.rb
66
- - lib/flapjack-diner/resources/notifications.rb
67
- - lib/flapjack-diner/resources/pagerduty_credentials.rb
68
- - lib/flapjack-diner/resources/reports.rb
58
+ - lib/flapjack-diner/configuration.rb
59
+ - lib/flapjack-diner/index_range.rb
60
+ - lib/flapjack-diner/log_formatter.rb
61
+ - lib/flapjack-diner/query.rb
62
+ - lib/flapjack-diner/relationships.rb
63
+ - lib/flapjack-diner/request.rb
64
+ - lib/flapjack-diner/resources.rb
65
+ - lib/flapjack-diner/response.rb
69
66
  - lib/flapjack-diner/tools.rb
67
+ - lib/flapjack-diner/utility.rb
70
68
  - lib/flapjack-diner/version.rb
71
69
  - log/.gitkeep
72
70
  - spec/argument_validator_spec.rb
73
71
  - spec/flapjack-diner_spec.rb
74
- - spec/pacts/flapjack-diner-flapjack.json
72
+ - spec/relationships_spec.rb
75
73
  - spec/resources/checks_spec.rb
76
74
  - spec/resources/contacts_spec.rb
77
- - spec/resources/entities_spec.rb
75
+ - spec/resources/events_spec.rb
78
76
  - spec/resources/maintenance_periods_spec.rb
79
77
  - spec/resources/media_spec.rb
80
- - spec/resources/notification_rules_spec.rb
81
- - spec/resources/notifications_spec.rb
82
- - spec/resources/pagerduty_credentials_spec.rb
83
- - spec/resources/reports_spec.rb
78
+ - spec/resources/metrics_spec.rb
79
+ - spec/resources/rules_spec.rb
80
+ - spec/resources/states_spec.rb
81
+ - spec/resources/statistics_spec.rb
82
+ - spec/resources/tags_spec.rb
84
83
  - spec/spec_helper.rb
84
+ - spec/support/fixture_data.rb
85
85
  homepage: https://github.com/flapjack/flapjack-diner
86
86
  licenses: []
87
87
  metadata: {}
@@ -96,9 +96,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
96
96
  version: '0'
97
97
  required_rubygems_version: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - ">="
99
+ - - ">"
100
100
  - !ruby/object:Gem::Version
101
- version: '0'
101
+ version: 1.3.1
102
102
  requirements: []
103
103
  rubyforge_project:
104
104
  rubygems_version: 2.4.5.1
@@ -108,14 +108,16 @@ summary: Access the API of a Flapjack system monitoring server
108
108
  test_files:
109
109
  - spec/argument_validator_spec.rb
110
110
  - spec/flapjack-diner_spec.rb
111
- - spec/pacts/flapjack-diner-flapjack.json
111
+ - spec/relationships_spec.rb
112
112
  - spec/resources/checks_spec.rb
113
113
  - spec/resources/contacts_spec.rb
114
- - spec/resources/entities_spec.rb
114
+ - spec/resources/events_spec.rb
115
115
  - spec/resources/maintenance_periods_spec.rb
116
116
  - spec/resources/media_spec.rb
117
- - spec/resources/notification_rules_spec.rb
118
- - spec/resources/notifications_spec.rb
119
- - spec/resources/pagerduty_credentials_spec.rb
120
- - spec/resources/reports_spec.rb
117
+ - spec/resources/metrics_spec.rb
118
+ - spec/resources/rules_spec.rb
119
+ - spec/resources/states_spec.rb
120
+ - spec/resources/statistics_spec.rb
121
+ - spec/resources/tags_spec.rb
121
122
  - spec/spec_helper.rb
123
+ - spec/support/fixture_data.rb